Обновление конфигурации до 3.1.36.33 и добавление README с описанием проекта.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
749 changed files with 67100 additions and 24393 deletions
+167
View File
@@ -0,0 +1,167 @@
# crm3_26
Репозиторий конфигурации **1С:Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 3.1** в формате выгрузки в файлы для версионирования в Git.
## Общие сведения
| Параметр | Значение |
|---|---|
| Имя конфигурации | `УправлениеТорговлей_CRM_2` |
| Синоним | 1С:Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 3.1 |
| Версия | **3.1.36.33** |
| Разработчик | ООО «1С-Рарус Специализированные Решения» |
| Основа продукта | 1С:Управление торговлей (11.5.27.52) + Модуль 1С:CRM (3.1.36.45) |
| Режим совместимости платформы | 8.3.27 |
| Режим запуска | Управляемое приложение |
| Язык скриптов | Русский |
| Репозиторий Git | https://git.p7net.ru/1c/crm3_26.git |
Конфигурация выгружена с информационной базы **crm3** (сервер `1c-srv.rhana.local`).
## Назначение
Продукт объединяет функциональность **1С:Управление торговлей** и модуля **1С:CRM** и предназначен для комплексной автоматизации:
- управления продажами и закупками;
- складского учёта и логистики;
- взаимодействия с клиентами (CRM);
- маркетинга и аналитики клиентской базы;
- планирования и финансового контроллинга;
- казначейства и взаиморасчётов;
- электронного документооборота и интеграций с внешними системами.
## Структура репозитория
```
crm3_26/
├── src/ # Конфигурация 1С в формате выгрузки в файлы
│ ├── Configuration.xml # Корневой файл метаданных конфигурации
│ ├── Catalogs/ # Справочники
│ ├── Documents/ # Документы
│ ├── Reports/ # Отчёты
│ ├── DataProcessors/ # Обработки
│ ├── CommonModules/ # Общие модули
│ ├── InformationRegisters/ # Регистры сведений
│ ├── AccumulationRegisters/ # Регистры накопления
│ ├── Subsystems/ # Подсистемы
│ ├── Roles/ # Роли
│ ├── ExchangePlans/ # Планы обмена
│ ├── WebServices/ # Веб-сервисы
│ ├── HTTPServices/ # HTTP-сервисы
│ ├── Bots/ # Боты
│ ├── IntegrationServices/ # Сервисы интеграции
│ └── ... # Прочие объекты метаданных
├── VERSION # Текущая версия конфигурации
├── .gitignore # Исключения для Git
└── .gitattributes # Настройки окончаний строк и бинарных файлов
```
## Состав конфигурации (основные подсистемы)
Конфигурация включает 28 подсистем верхнего уровня, в том числе:
| Подсистема | Назначение |
|---|---|
| `CRM_МодульCRM` | Ядро CRM: работа с клиентами, проекты, маркетинг, календарь и почта, триггеры |
| `CRMИМаркетинг` | Маркетинговые инструменты |
| `Продажи` / `ПродажиБазовая` | Управление продажами |
| `Закупки` / `ЗакупкиБазовая` | Управление закупками |
| `Склад` / `СкладБазовая` | Складской учёт |
| `Казначейство` | Управление денежными средствами |
| `ФинансовыйРезультатИКонтроллинг` | Финансовый результат и контроллинг |
| `Планирование` | Планирование |
| `ЭлектронноеВзаимодействие` | ЭДО, обмен электронными документами |
| `СинхронизацияДанных` | Синхронизация между базами |
| `ИнтеграцияЕГАИСУТ` / `ИнтеграцияГИСМУТ` / `ИнтеграцияВЕТИСУТ` / `ИнтеграцияМОТПУТ` | Государственные информационные системы |
| `ИнтеграцияС1СДокументооборотом` | Интеграция с 1С:Документооборот |
| `СерверЛояльности` | Программы лояльности |
| `МашинноеОбучение` | Машинное обучение |
| `Администрирование` | Администрирование системы |
| `СтандартныеПодсистемы` | Библиотека стандартных подсистем (БСП) |
### Модуль CRM (ключевые разделы)
Внутри подсистемы `CRM_МодульCRM` выделены функциональные блоки:
- **Работа с клиентами** — продажи, поддержка, анализ обращений и клиентской базы;
- **Маркетинг** — сегменты, рассылки, анкетирование, сквозная аналитика, распознавание лиц;
- **Проекты** — управление проектами;
- **Календарь и почта** — календарь, электронная почта, обмен с внешними календарями;
- **Триггеры** — автоматизация бизнес-процессов по событиям;
- **СофтФон** — интеграция с телефонией;
- **SMS4B** — сервис SMS-рассылок.
## Статистика объектов метаданных
| Тип объекта | Количество |
|---|---|
| Справочники | 645 |
| Документы | 306 |
| Отчёты | 388 |
| Обработки | 450 |
| Общие модули | 3 195 |
| Регистры сведений | 857 |
| Регистры накопления | 105 |
| Роли | 1 185 |
| Планы обмена | 26 |
| Веб-сервисы | 21 |
| HTTP-сервисы | 16 |
| Боты | 2 |
| Файлы `.bsl` (модули) | ~14 650 |
| Всего файлов в `src/` | ~61 400 |
## Интеграции и сервисы
Конфигурация содержит HTTP-сервисы для взаимодействия с внешними системами, в том числе:
- электронный документооборот (ЭДО);
- сервер лояльности;
- биллинг;
- телефония (SoftPhone);
- обмен данными;
- открытая авторизация почтовых сервисов.
Также реализованы боты для оповещения пользователей о событиях и сервисы интеграции для обмена сообщениями.
## Работа с репозиторием
### Требования
- Платформа **1С:Предприятие 8.3** (режим совместимости 8.3.27 и выше);
- Конфигуратор 1С или среда разработки с поддержкой формата выгрузки в файлы (например, 1C:EDT).
### Загрузка конфигурации
1. Клонировать репозиторий:
```bash
git clone https://git.p7net.ru/1c/crm3_26.git
```
2. В конфигураторе 1С: **Конфигурация → Загрузить конфигурацию из файлов** — указать каталог `src/`.
3. Обновить конфигурацию базы данных.
### Выгрузка изменений
1. В конфигураторе: **Конфигурация → Выгрузить конфигурацию в файлы** — указать каталог `src/`.
2. Обновить файл `VERSION` при смене версии.
3. Зафиксировать изменения в Git.
### Исключённые из Git файлы
Согласно `.gitignore`, в репозиторий не попадают:
- бинарные файлы конфигурации (`.cf`, `.cfe`, `.ef`);
- временные и служебные файлы;
- каталоги отладки (`.vs/`, `.vscode/`, `Debug/`).
## История репозитория
| Дата | Событие |
|---|---|
| 18.06.2026 | Начальный коммит — выгрузка конфигурации с DT-021 |
| — | Экспорт из базы crm3 (1c-srv.rhana.local), версия 3.1.36.31 |
| — | Актуальная версия конфигурации: **3.1.36.33** |
## Ссылки
- [Описание продукта на сайте 1С](http://solutions.1c.ru/catalog/product.html?product_id=1452)
- [Каталог обновлений 1С](http://downloads.v8.1c.ru/tmplts/)
+1 -1
View File
@@ -1 +1 @@
3.1.36.31 3.1.36.33
@@ -108,6 +108,153 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
// см. ОбновлениеИнформационнойБазыБСП.ПриДобавленииОбработчиковОбновления
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
Обработчик = Обработчики.Добавить();
Обработчик.Процедура = "РегистрыНакопления.ДвиженияПоАкцизам.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Версия = "11.5.27.48";
Обработчик.Порядок = Перечисления.ПорядокОбработчиковОбновления.Некритичный;
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("e0ca9ea7-01a0-4ba0-888a-ba5aac55c97f");
Обработчик.Многопоточный = Истина;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыНакопления.ДвиженияПоАкцизам.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Комментарий = НСтр("ru = 'Удаляет записи в регстре ""Движения по акцизам"" для непроведенных документов'");
Обработчик.Комментарий = Комментарий;
Читаемые = Новый Массив;
Читаемые.Добавить(Метаданные.Документы.Сторно.ПолноеИмя());
Читаемые.Добавить(Метаданные.Документы.ТаможеннаяДекларацияИмпорт.ПолноеИмя());
Читаемые.Добавить(Метаданные.Документы.ЗаявлениеОВвозеТоваров.ПолноеИмя());
Обработчик.ЧитаемыеОбъекты = СтрСоединить(Читаемые, ",");
Изменяемые = Новый Массив;
Изменяемые.Добавить(Метаданные.РегистрыНакопления.ДвиженияПоАкцизам.ПолноеИмя());
Обработчик.ИзменяемыеОбъекты = СтрСоединить(Изменяемые, ",");
Блокируемые = Новый Массив;
Блокируемые.Добавить(Метаданные.РегистрыНакопления.ДвиженияПоАкцизам.ПолноеИмя());
Обработчик.БлокируемыеОбъекты = СтрСоединить(Блокируемые, ",");
КонецПроцедуры
// Обработчик обновления
//
// Параметры:
// Параметры - См. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляМногопоточнойОбработки
//
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ПолноеИмяРегистра = Метаданные.РегистрыНакопления.ДвиженияПоАкцизам.ПолноеИмя();
ПараметрыВыборки = Параметры.ПараметрыВыборки;
ПараметрыВыборки.ПолныеИменаРегистров = ПолноеИмяРегистра;
ПараметрыВыборки.ПоляУпорядочиванияПриРаботеПользователей.Добавить("Период УБЫВ");
ПараметрыВыборки.ПоляУпорядочиванияПриОбработкеДанных.Добавить("Период УБЫВ");
ПараметрыВыборки.СпособВыборки = ОбновлениеИнформационнойБазы.СпособВыборкиРегистраторыРегистра();
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| РегистрДвиженияПоАкцизам.Регистратор
|ИЗ РегистрНакопления.ДвиженияПоАкцизам КАК РегистрДвиженияПоАкцизам
|ГДЕ
| НЕ РегистрДвиженияПоАкцизам.Регистратор.Проведен";
Регистраторы = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Регистратор");
ОбновлениеИнформационнойБазы.ОтметитьРегистраторыКОбработке(Параметры, Регистраторы, ПолноеИмяРегистра);
КонецПроцедуры
// Обработчик обновления.
//
// Параметры:
// Параметры - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке.
//
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
МетаданныеРегистра = Метаданные.РегистрыНакопления.ДвиженияПоАкцизам;
ПолноеИмяРегистра = МетаданныеРегистра.ПолноеИмя();
ОбновляемыеДанные = ОбновлениеИнформационнойБазы.ДанныеДляОбновленияВМногопоточномОбработчике(Параметры);
Если ОбновляемыеДанные.Количество() = 0 Тогда
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяРегистра);
Возврат;
КонецЕсли;
Для Каждого СтрокаДанных Из ОбновляемыеДанные Цикл
Регистратор = СтрокаДанных.Регистратор;
ПричинаИсключения = "";
Рекомендация = "";
СписокОписаний = Новый Массив;
СписокОписаний.Добавить(НСтр("ru = 'Не удалось обработать набор записей регистра накопления ""Движения по акцизам"":'"));
НачатьТранзакцию();
Попытка
ПричинаИсключения = "Блокировка";
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ДвиженияПоАкцизам.НаборЗаписей");
ЭлементБлокировки.УстановитьЗначение("Регистратор", Регистратор);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
ПричинаИсключения = "ПлохиеДанные";
Рекомендация = НСтр("ru = 'Перепроведите документ вручную.'");
НаборЗаписей = РегистрыНакопления.ДвиженияПоАкцизам.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
НаборЗаписей.Прочитать();
НаборЗаписей.Очистить();
ПричинаИсключения = "Запись";
Если НаборЗаписей.Модифицированность() Тогда
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
Иначе
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(НаборЗаписей);
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ОбновлениеИнформационнойБазыУТ.СообщитьОНеудачнойОбработке(ИнформацияОбОшибке(), Регистратор);
Если ПричинаИсключения = "ПлохиеДанные" Тогда
ОбновлениеИнформационнойБазы.ЗарегистрироватьПроблемуСДанными(Регистратор, Рекомендация, Параметры);
ИначеЕсли ПричинаИсключения = "Запись" Тогда
ВызватьИсключение СтрСоединить(СписокОписаний, Символы.ПС);
КонецЕсли;
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяРегистра);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -166,17 +166,27 @@
Обработчик = Обработчики.Добавить(); Обработчик = Обработчики.Добавить();
Обработчик.Процедура = "РегистрыНакопления.ПрочиеАктивыПассивы.ОбработатьДанныеДляПереходаНаНовуюВерсию"; Обработчик.Процедура = "РегистрыНакопления.ПрочиеАктивыПассивы.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Версия = "11.5.26.61"; Обработчик.Версия = "11.5.27.48";
Обработчик.РежимВыполнения = "Отложенно"; Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("e8ea5d4b-ae61-ea32-a34e-ce03ce438a26"); Обработчик.Идентификатор = Новый УникальныйИдентификатор("e8ea5d4b-ae61-ea32-a34e-ce03ce438a26");
Обработчик.Многопоточный = Истина; Обработчик.Многопоточный = Истина;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыНакопления.ПрочиеАктивыПассивы.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию"; Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыНакопления.ПрочиеАктивыПассивы.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы"; Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.Порядок = Перечисления.ПорядокОбработчиковОбновления.Некритичный;
Обработчик.Комментарий = НСтр("ru = 'Заменяет статью ""Доходы текущего периода"" на ""Прибыли и убытки"" в движениях регистра ""Активы и пассивы"" незаблокированных периодов.'"); СписокОписаний = Новый Массив;
СписокОписаний.Добавить(НСтр("ru = 'Обновление регистра ""Прочие активы и пассивы"":'"));
СписокОписаний.Добавить(НСтр("ru = '- Заменяет статью ""Доходы текущего периода"" на ""Прибыли и убытки"" в движениях регистра ""Активы и пассивы"" незаблокированных периодов.'"));
СписокОписаний.Добавить(НСтр("ru = '- Удаляет движения по непроведенным документам с акцизами незаблокированных периодов.'"));
Обработчик.Комментарий = СтрСоединить(СписокОписаний, Символы.ПС);
Обработчик.Порядок = Перечисления.ПорядокОбработчиковОбновления.Обычный;
Читаемые = Новый Массив; Читаемые = Новый Массив;
Читаемые.Добавить(Метаданные.РегистрыНакопления.ПрочиеАктивыПассивы.ПолноеИмя()); Читаемые.Добавить(Метаданные.РегистрыНакопления.ПрочиеАктивыПассивы.ПолноеИмя());
Читаемые.Добавить(Метаданные.Документы.ВнутреннееПотребление.ПолноеИмя());
Читаемые.Добавить(Метаданные.Документы.СписаниеНедостачТоваров.ПолноеИмя());
Читаемые.Добавить(Метаданные.Документы.Сторно.ПолноеИмя());
Обработчик.ЧитаемыеОбъекты = СтрСоединить(Читаемые, ","); Обработчик.ЧитаемыеОбъекты = СтрСоединить(Читаемые, ",");
Изменяемые = Новый Массив; Изменяемые = Новый Массив;
@@ -215,6 +225,51 @@
| Движения.Статья = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.УпрБалансДоходыТекущегоПериода) | Движения.Статья = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.УпрБалансДоходыТекущегоПериода)
| И Движения.Активность | И Движения.Активность
| И ЕСТЬNULL(КОНЕЦПЕРИОДА(Блокировка.ЗаблокироватьПо, МЕСЯЦ), ДАТАВРЕМЯ(1,1,1)) < Движения.Период | И ЕСТЬNULL(КОНЕЦПЕРИОДА(Блокировка.ЗаблокироватьПо, МЕСЯЦ), ДАТАВРЕМЯ(1,1,1)) < Движения.Период
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Движения.Регистратор КАК Ссылка
|ИЗ
| РегистрНакопления.ПрочиеАктивыПассивы КАК Движения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкаБлокировкиОтИзменений КАК Блокировка
| ПО Блокировка.Организация = Движения.Организация
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВнутреннееПотребление КАК ДокументВнутреннееПотребление
| ПО ДокументВнутреннееПотребление.Ссылка = Движения.Регистратор
| И НЕ ДокументВнутреннееПотребление.Проведен
|ГДЕ
| Движения.Активность
| И ЕСТЬNULL(КОНЕЦПЕРИОДА(Блокировка.ЗаблокироватьПо, МЕСЯЦ), ДАТАВРЕМЯ(1,1,1)) < Движения.Период
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Движения.Регистратор КАК Ссылка
|ИЗ
| РегистрНакопления.ПрочиеАктивыПассивы КАК Движения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкаБлокировкиОтИзменений КАК Блокировка
| ПО Блокировка.Организация = Движения.Организация
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СписаниеНедостачТоваров КАК ДокументСписаниеНедостачТоваров
| ПО ДокументСписаниеНедостачТоваров.Ссылка = Движения.Регистратор
| И НЕ ДокументСписаниеНедостачТоваров.Проведен
|ГДЕ
| Движения.Активность
| И ЕСТЬNULL(КОНЕЦПЕРИОДА(Блокировка.ЗаблокироватьПо, МЕСЯЦ), ДАТАВРЕМЯ(1,1,1)) < Движения.Период
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Движения.Регистратор КАК Ссылка
|ИЗ
| РегистрНакопления.ПрочиеАктивыПассивы КАК Движения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкаБлокировкиОтИзменений КАК Блокировка
| ПО Блокировка.Организация = Движения.Организация
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Сторно КАК ДокументСторно
| ПО ДокументСторно.Ссылка = Движения.Регистратор
| И НЕ ДокументСторно.Проведен
|ГДЕ
| Движения.Активность
| И ЕСТЬNULL(КОНЕЦПЕРИОДА(Блокировка.ЗаблокироватьПо, МЕСЯЦ), ДАТАВРЕМЯ(1,1,1)) < Движения.Период
|"; |";
Регистраторы = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"); Регистраторы = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
@@ -274,6 +329,14 @@
НаборЗаписей = РегистрыНакопления.ПрочиеАктивыПассивы.СоздатьНаборЗаписей(); НаборЗаписей = РегистрыНакопления.ПрочиеАктивыПассивы.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Регистратор); НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
НаборЗаписей.Прочитать(); НаборЗаписей.Прочитать();
ТипДокумента = ТипЗнч(Регистратор);
Если (ТипДокумента = Тип("ДокументСсылка.ВнутреннееПотребление")
Или ТипДокумента = Тип("ДокументСсылка.СписаниеНедостачТоваров")
Или ТипДокумента = Тип("ДокументСсылка.Сторно"))
И Не ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Регистратор, "Проведен") = Истина Тогда
НаборЗаписей.Очистить();
КонецЕсли;
Для Каждого Запись Из НаборЗаписей Цикл Для Каждого Запись Из НаборЗаписей Цикл
Если Запись.Статья = ПланыВидовХарактеристик.СтатьиАктивовПассивов.УпрБалансДоходыТекущегоПериода Тогда Если Запись.Статья = ПланыВидовХарактеристик.СтатьиАктивовПассивов.УпрБалансДоходыТекущегоПериода Тогда
@@ -124,10 +124,6 @@
CRM_КлиентыСервер.СформироватьСмещениеВремениТекущегоАбонента(ЭтотОбъект, , Объект.Ссылка, Объект.БизнесРегион); CRM_КлиентыСервер.СформироватьСмещениеВремениТекущегоАбонента(ЭтотОбъект, , Объект.Ссылка, Объект.БизнесРегион);
// Управление элементами на форме
CRM_УправлениеЭлементамиНаФормах.ПриСозданииНаСервере(ЭтотОбъект, "КоманднаяПанельФормы", "ГруппаДополнительно");
// Конец Управление элементами на форме
КомпонентыФС = Новый Массив; КомпонентыФС = Новый Массив;
КомпонентыФС.Добавить(Новый ФорматированнаяСтрока(НСтр("ru='Создан';en='Created'") + " ", , КомпонентыФС.Добавить(Новый ФорматированнаяСтрока(НСтр("ru='Создан';en='Created'") + " ", ,
ЦветаСтиля.CRM_ЧерныйЦветТекста)); ЦветаСтиля.CRM_ЧерныйЦветТекста));
@@ -150,6 +146,11 @@
РаспознаваниеРечи_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка); РаспознаваниеРечи_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка);
// Конец РаспознаваниеРечи // Конец РаспознаваниеРечи
// Управление элементами на форме
// ! Блок должен располагаться в конце процедуры !
CRM_УправлениеЭлементамиНаФормах.ПриСозданииНаСервере(ЭтотОбъект, "КоманднаяПанельФормы", "ГруппаДополнительно");
// Конец Управление элементами на форме
ЦветГолубой = ЦветаСтиля.CRM_ОсновнойГолубой; ЦветГолубой = ЦветаСтиля.CRM_ОсновнойГолубой;
ЦветКрасный = ЦветаСтиля.ЦветОсобогоТекста; ЦветКрасный = ЦветаСтиля.ЦветОсобогоТекста;
@@ -260,6 +260,7 @@
Настройки.Вставить("ЧекЛист", Объект.ЧекЛист); Настройки.Вставить("ЧекЛист", Объект.ЧекЛист);
Настройки.Вставить("ОжидаемыйСрокНаЭтапе", Объект.ОжидаемыйСрокНаЭтапе); Настройки.Вставить("ОжидаемыйСрокНаЭтапе", Объект.ОжидаемыйСрокНаЭтапе);
Настройки.Вставить("ЗавершатьСвязанныеДиалоги", Объект.ЗавершатьСвязанныеДиалоги); Настройки.Вставить("ЗавершатьСвязанныеДиалоги", Объект.ЗавершатьСвязанныеДиалоги);
Настройки.Вставить("НеСоздаватьЗадачу", Объект.НеСоздаватьЗадачу);
Закрыть(Настройки); Закрыть(Настройки);
@@ -145,6 +145,7 @@
Настройки.Вставить("ЧекЛист", Объект.ЧекЛист); Настройки.Вставить("ЧекЛист", Объект.ЧекЛист);
Настройки.Вставить("ОжидаемыйСрокНаЭтапе", Объект.ОжидаемыйСрокНаЭтапе); Настройки.Вставить("ОжидаемыйСрокНаЭтапе", Объект.ОжидаемыйСрокНаЭтапе);
Настройки.Вставить("ЗавершатьСвязанныеДиалоги", Объект.ЗавершатьСвязанныеДиалоги); Настройки.Вставить("ЗавершатьСвязанныеДиалоги", Объект.ЗавершатьСвязанныеДиалоги);
Настройки.Вставить("НеСоздаватьЗадачу", Объект.НеСоздаватьЗадачу);
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеРедактированияНастроек", ЭтотОбъект); ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеРедактированияНастроек", ЭтотОбъект);
ПараметрыОткрытия = Новый Структура("Настройки", Настройки); ПараметрыОткрытия = Новый Структура("Настройки", Настройки);
@@ -1175,7 +1175,12 @@
</v8:item> </v8:item>
</Title> </Title>
<Type> <Type>
<v8:TypeSet>cfg:DefinedType.ДенежнаяСуммаЛюбогоЗнака</v8:TypeSet> <v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>15</v8:Digits>
<v8:FractionDigits>3</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type> </Type>
<FunctionalOptions> <FunctionalOptions>
<Item>FunctionalOption.ИспользоватьПодакцизныеТовары</Item> <Item>FunctionalOption.ИспользоватьПодакцизныеТовары</Item>
@@ -49,7 +49,7 @@
#Область ДляВызоваИзДругихПодсистем #Область ДляВызоваИзДругихПодсистем
// Обработка данных перехода на конструктор настроек видов продуции // Обработка данных перехода на конструктор настроек видов продукции
// //
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию() Экспорт Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию() Экспорт
@@ -29,6 +29,19 @@
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event> <Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events> </Events>
<ChildItems> <ChildItems>
<LabelDecoration name="ДекорацияИнформированиеОбУдаленииЦенообразованияВерсии20" id="147">
<Width>70</Width>
<AutoMaxWidth>false</AutoMaxWidth>
<TextColor>style:ПросроченныеДанныеЦвет</TextColor>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Информирование об удалении устаревшей функциональности</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияИнформированиеОбУдаленииЦенообразованияВерсии20КонтекстноеМеню" id="148"/>
<ExtendedTooltip name="ДекорацияИнформированиеОбУдаленииЦенообразованияВерсии20РасширеннаяПодсказка" id="149"/>
</LabelDecoration>
<UsualGroup name="ГруппаРегламентныеЗадания" id="140"> <UsualGroup name="ГруппаРегламентныеЗадания" id="140">
<Title> <Title>
<v8:item> <v8:item>
@@ -1,5 +1,4 @@
#Область ОбработчикиСобытийФормы
#Область ОбработчикиСобытийФормы
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
@@ -13,6 +12,8 @@
Элементы.ТаблицаРегламентныеЗаданияНастроитьРасписание.Видимость = Не РазделениеВключено; Элементы.ТаблицаРегламентныеЗаданияНастроитьРасписание.Видимость = Не РазделениеВключено;
ЦенообразованиеКлиентСервер.УстановитьСвойстваДекорацииИнформированиеОбУдаленииЦенообразованияВерсии20(Элементы);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -10,6 +10,19 @@
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event> <Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events> </Events>
<ChildItems> <ChildItems>
<LabelDecoration name="ДекорацияИнформированиеОбУдаленииЦенообразованияВерсии20" id="993">
<Width>70</Width>
<AutoMaxWidth>false</AutoMaxWidth>
<TextColor>style:ПросроченныеДанныеЦвет</TextColor>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Информирование об удалении устаревшей функциональности</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияИнформированиеОбУдаленииЦенообразованияВерсии20КонтекстноеМеню" id="994"/>
<ExtendedTooltip name="ДекорацияИнформированиеОбУдаленииЦенообразованияВерсии20РасширеннаяПодсказка" id="995"/>
</LabelDecoration>
<UsualGroup name="ГруппаШапка" id="692"> <UsualGroup name="ГруппаШапка" id="692">
<Title> <Title>
<v8:item> <v8:item>
@@ -1439,6 +1439,8 @@
СписокВыбораИспользование.Добавить("ИспользоватьПриВыпускеПродукции", НСтр("ru = 'выпуске продукции'")); СписокВыбораИспользование.Добавить("ИспользоватьПриВыпускеПродукции", НСтр("ru = 'выпуске продукции'"));
КонецЕсли; КонецЕсли;
ЦенообразованиеКлиентСервер.УстановитьСвойстваДекорацииИнформированиеОбУдаленииЦенообразованияВерсии20(Элементы);
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -3365,18 +3365,6 @@
Элементы.Сумма.АвтоОтметкаНезаполненного = ФиксированнаяСуммаДоговора; Элементы.Сумма.АвтоОтметкаНезаполненного = ФиксированнаяСуммаДоговора;
ВариантДоговор = Перечисления.ВариантыОпределенияГрафикаИсполненияВДоговоре.Договор; ВариантДоговор = Перечисления.ВариантыОпределенияГрафикаИсполненияВДоговоре.Договор;
ВариантРегулярныеПлатежи = Перечисления.ВариантыОпределенияГрафикаИсполненияВДоговоре.РегулярныеПлатежи;
ЭлементСпискаВыбора = Элементы.ВариантОпределенияГрафикаИсполненияВДоговоре.СписокВыбора.НайтиПоЗначению(
ВариантРегулярныеПлатежи);
Если ЭлементСпискаВыбора = Неопределено Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ВариантОпределенияГрафикаИсполненияВДоговоре",
"Доступность", ФиксированнаяСуммаДоговора);
Иначе
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ВариантОпределенияГрафикаИсполненияВДоговоре",
"Доступность", Истина);
КонецЕсли;
Элементы.НадписьГрафикИсполнения.Видимость = Элементы.НадписьГрафикИсполнения.Видимость Элементы.НадписьГрафикИсполнения.Видимость = Элементы.НадписьГрафикИсполнения.Видимость
И (Объект.ВариантОпределенияГрафикаИсполненияВДоговоре = ВариантДоговор); И (Объект.ВариантОпределенияГрафикаИсполненияВДоговоре = ВариантДоговор);
@@ -125,7 +125,7 @@
Процедура ПослеЗаписи(ПараметрыЗаписи) Процедура ПослеЗаписи(ПараметрыЗаписи)
ОбновитьДоступностьКнопок(); ОбновитьДоступностьКнопок();
Оповестить("Запись_ПодакцизнаяКатегория", ПараметрыЗаписи, Объект.Ссылка); Оповестить("Запись_ПодакцизнаяКатегория", Неопределено, Объект.Ссылка);
КонецПроцедуры КонецПроцедуры
@@ -190,7 +190,7 @@
КонецПроцедуры КонецПроцедуры
// Обработка данных перехода на конструктор настроек видов продуции // Обработка данных перехода на конструктор настроек видов продукции
// //
// Параметры: // Параметры:
// Параметры - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке // Параметры - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке
@@ -203,7 +203,7 @@
КонецПроцедуры КонецПроцедуры
// Обработка данных перехода на конструктор настроек видов продуции в монопольном режиме для неразделенных классификаторов // Обработка данных перехода на конструктор настроек видов продукции в монопольном режиме для неразделенных классификаторов
// //
Процедура ОбработатьДанныеДляПереходаНаКонструкторНастроекВМонопольномРежиме() Экспорт Процедура ОбработатьДанныеДляПереходаНаКонструкторНастроекВМонопольномРежиме() Экспорт
@@ -133,7 +133,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// Строка // Строка
Функция КодПолномочия_KLASS_2_0_SIGN_DIG_DOC() Экспорт Функция КодПолномочия_KLASS_2_0_SIGN_DIG_DOC()
Возврат "KLASS_2.0_SIGN_DIG_DOC"; Возврат "KLASS_2.0_SIGN_DIG_DOC";
@@ -203,7 +203,7 @@
КлассификаторОграничений = РегистрыСведений.КлассификаторыОграниченийМЧД.КлассификаторОграничений(); КлассификаторОграничений = РегистрыСведений.КлассификаторыОграниченийМЧД.КлассификаторОграничений();
Для Каждого Элемент из КодыКлассификатора Цикл Для Каждого Элемент Из КодыКлассификатора Цикл
НайденноеОграничение = КлассификаторОграничений.Найти(Элемент, "Код"); НайденноеОграничение = КлассификаторОграничений.Найти(Элемент, "Код");
@@ -290,16 +290,16 @@
// Проверяет, находится ли код указанного полномочия в списке полномочий, поддерживающих ограничения // Проверяет, находится ли код указанного полномочия в списке полномочий, поддерживающих ограничения
// //
// Параметры: // Параметры:
// КодКласификатора - Строка // КодКлассификатора - Строка
// //
// Возвращаемое значение: // Возвращаемое значение:
// Булево // Булево
Функция ЭтоПолномочиеИспользуетОграничения(КодКласификатора) Экспорт Функция ЭтоПолномочиеИспользуетОграничения(КодКлассификатора) Экспорт
Результат = Ложь; Результат = Ложь;
СписокПолномочийСОграничениями = ПолучитьСписокПолномочийСОграничениями(); СписокПолномочийСОграничениями = ПолучитьСписокПолномочийСОграничениями();
Если СписокПолномочийСОграничениями.Найти(КодКласификатора) <> Неопределено Тогда Если СписокПолномочийСОграничениями.Найти(КодКлассификатора) <> Неопределено Тогда
Результат = Истина; Результат = Истина;
КонецЕсли; КонецЕсли;
@@ -87,10 +87,11 @@
ОбщегоНазначения.ЗначенияРеквизитовОбъектов( ОбщегоНазначения.ЗначенияРеквизитовОбъектов(
ВыбранныеПолномочия, "КодКлассификатора, Полномочие, Мнемоника, ОписаниеПолномочия, КонтекстПолномочия"); ВыбранныеПолномочия, "КодКлассификатора, Полномочие, Мнемоника, ОписаниеПолномочия, КонтекстПолномочия");
ПодготовленноеПравило = Новый Массив;
Для Каждого Полномочие Из ВыбранныеПолномочия Цикл Для Каждого Полномочие Из ВыбранныеПолномочия Цикл
НомерОграничения = 1; НомерОграничения = 1;
ПодготовленноеПравило = Новый Массив;
УстанавливаемоеПолномочие = ЗначенияРеквизитовВыбранныхПолномочий[Полномочие]; УстанавливаемоеПолномочие = ЗначенияРеквизитовВыбранныхПолномочий[Полномочие];
@@ -389,11 +389,6 @@
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar> <LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ДобавитьКонтрагентаРасширеннаяПодсказка" id="225"/> <ExtendedTooltip name="ДобавитьКонтрагентаРасширеннаяПодсказка" id="225"/>
</Button> </Button>
<Button name="ИзменитьКонтрагента" id="226">
<Type>CommandBarButton</Type>
<CommandName>0</CommandName>
<ExtendedTooltip name="ИзменитьКонтрагентаРасширеннаяПодсказка" id="227"/>
</Button>
<Button name="УдалитьКонтрагента" id="228"> <Button name="УдалитьКонтрагента" id="228">
<Type>CommandBarButton</Type> <Type>CommandBarButton</Type>
<CommandName>Form.Item.СписокКонтрагентов.StandardCommand.Delete</CommandName> <CommandName>Form.Item.СписокКонтрагентов.StandardCommand.Delete</CommandName>
@@ -278,9 +278,15 @@
КонецЕсли; КонецЕсли;
Если Отказ Тогда Если Отказ Тогда
Если ЗначениеЗаполнено(КПП) Тогда
ТекстСообщения = ТекстСообщения =
СтрШаблон(НСтр("ru = 'Строка с %1 и %2 уже добавлена в табличную часть.'"), ИНН, СтрШаблон(НСтр("ru = 'Строка с ИНН %1 и КПП %2 уже добавлена в табличную часть.'"), ИНН, КПП);
?(ЗначениеЗаполнено(КПП),"КПП " + КПП, "пустым КПП")); Иначе
ТекстСообщения =
СтрШаблон(НСтр("ru = 'Строка с ИНН %1 и пустым КПП уже добавлена в табличную часть.'"), ИНН);
КонецЕсли;
ПоказатьПредупреждение(, ТекстСообщения); ПоказатьПредупреждение(, ТекстСообщения);
КонецЕсли; КонецЕсли;
@@ -429,7 +435,7 @@
АдресСертификата = ПомещенныйФайл.Хранение; АдресСертификата = ПомещенныйФайл.Хранение;
ДанныеСертификата = ПолучитьИзВременногоХранилища(АдресСертификата); ДанныеСертификата = ПолучитьИзВременногоХранилища(АдресСертификата);
ЭтоСертификат = ЭлектроннаяПодписьСлужебныйВызовСервера.ФайлЯвляетсяСертификатом(ДанныеСертификата); ЭтоСертификат = ИнтеграцияБСПБЭДВызовСервера.ФайлЯвляетсяСертификатом(ДанныеСертификата);
Если Не ЭтоСертификат Тогда Если Не ЭтоСертификат Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Файл сертификата должен быть в формате DER X.509.'")); ПоказатьПредупреждение(, НСтр("ru = 'Файл сертификата должен быть в формате DER X.509.'"));
Возврат; Возврат;
@@ -450,7 +456,7 @@
ПолноеИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя; ПолноеИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя;
ОбщегоНазначения.ХранилищеНастроекДанныхФормСохранить( ОбщегоНазначения.ХранилищеНастроекДанныхФормСохранить(
ИмяФормы, "НайстройкиВидимостиОграничений", Параметры, , ПолноеИмяПользователя); ИмяФормы, "НастройкиВидимостиОграничений", Параметры, , ПолноеИмяПользователя);
КонецПроцедуры КонецПроцедуры
@@ -463,12 +469,12 @@
ПолноеИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя; ПолноеИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя;
НайстройкиВидимостиОграничений = ОбщегоНазначения.ХранилищеНастроекДанныхФормЗагрузить( НастройкиВидимостиОграничений = ОбщегоНазначения.ХранилищеНастроекДанныхФормЗагрузить(
ИмяФормы, "НайстройкиВидимостиОграничений", , , ПолноеИмяПользователя); ИмяФормы, "НастройкиВидимостиОграничений", , , ПолноеИмяПользователя);
Если Не НайстройкиВидимостиОграничений = Неопределено Тогда Если Не НастройкиВидимостиОграничений = Неопределено Тогда
Для Каждого ОтмеченныйЭлемент Из НайстройкиВидимостиОграничений Цикл Для Каждого ОтмеченныйЭлемент Из НастройкиВидимостиОграничений Цикл
НайденныйЭлемент = Элементы.Найти(ОтмеченныйЭлемент.Значение); НайденныйЭлемент = Элементы.Найти(ОтмеченныйЭлемент.Значение);
Если Не НайденныйЭлемент = Неопределено Тогда Если Не НайденныйЭлемент = Неопределено Тогда
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" 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:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.20"> <MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" 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:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.20">
<Form uuid="c7b24429-e078-4d55-bafa-2330958f5ff8"> <Form uuid="23517f1b-9962-4ce5-83a2-1aa4e6f620a8">
<Properties> <Properties>
<Name>ФормаВыбора</Name> <Name>ФормаВыбора</Name>
<Synonym> <Synonym>
@@ -245,10 +245,6 @@
CRM_ОбщегоНазначенияПовтИсп.ЗаполнитьСписокВыбораВариантовСроков(Элементы.БыстрыйВвод_ВзаимодействиеДатаНачала_Дата); CRM_ОбщегоНазначенияПовтИсп.ЗаполнитьСписокВыбораВариантовСроков(Элементы.БыстрыйВвод_ВзаимодействиеДатаНачала_Дата);
CRM_ОбщегоНазначенияПовтИсп.ЗаполнитьСписокВыбораВариантовСроков(Элементы.БыстрыйВвод_ЗадачаДатаОкончания_Дата); CRM_ОбщегоНазначенияПовтИсп.ЗаполнитьСписокВыбораВариантовСроков(Элементы.БыстрыйВвод_ЗадачаДатаОкончания_Дата);
// Управление элементами на форме
CRM_УправлениеЭлементамиНаФормах.ПриСозданииНаСервере(ЭтотОбъект, "КоманднаяПанельФормы", "ГруппаДополнительно");
// Конец Управление элементами на форме
ТекущийПользователь = Пользователи.АвторизованныйПользователь(); ТекущийПользователь = Пользователи.АвторизованныйПользователь();
ТекущееПодразделение = ТекущийПользователь.Подразделение; ТекущееПодразделение = ТекущийПользователь.Подразделение;
@@ -323,6 +319,11 @@
РаспознаваниеРечи_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка); РаспознаваниеРечи_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка);
// Конец РаспознаваниеРечи // Конец РаспознаваниеРечи
// Управление элементами на форме
// ! Блок должен располагаться в конце процедуры !
CRM_УправлениеЭлементамиНаФормах.ПриСозданииНаСервере(ЭтотОбъект, "КоманднаяПанельФормы", "ГруппаДополнительно");
// Конец Управление элементами на форме
CRM_ОбщегоНазначенияСервер.ЗакончитьЗамерВремениСозданияФормы(ЭтотОбъект, ВремяНачалаЗамера); CRM_ОбщегоНазначенияСервер.ЗакончитьЗамерВремениСозданияФормы(ЭтотОбъект, ВремяНачалаЗамера);
КонецПроцедуры КонецПроцедуры
+252 -111
View File
@@ -1076,7 +1076,9 @@
| МЧД003.ФайлМЧД КАК ФайлМЧД, | МЧД003.ФайлМЧД КАК ФайлМЧД,
| МЧД003.ПротоколПроверки КАК ПротоколПроверкиМЧД, | МЧД003.ПротоколПроверки КАК ПротоколПроверкиМЧД,
| МЧД003.ИмяФайлаЗаявленияНаОтзыв КАК ИмяФайлаЗаявленияНаОтзыв, | МЧД003.ИмяФайлаЗаявленияНаОтзыв КАК ИмяФайлаЗаявленияНаОтзыв,
| МЧД003.ФайлЗаявленияНаОтзыв КАК ФайлЗаявленияНаОтзыв | МЧД003.ФайлЗаявленияНаОтзыв КАК ФайлЗаявленияНаОтзыв,
| МЧД003.ПометкаУдаления КАК ПометкаУдаления
|
|ПОМЕСТИТЬ Доверенность |ПОМЕСТИТЬ Доверенность
|ИЗ |ИЗ
| Справочник.МЧД003 КАК МЧД003 | Справочник.МЧД003 КАК МЧД003
@@ -1145,7 +1147,8 @@
Выборка.Следующий(); Выборка.Следующий();
Реквизиты = "НомерДоверенности, ДатаПолученияСведений, ДатаВыдачи, ДатаОкончания, Реквизиты = "НомерДоверенности, ДатаПолученияСведений, ДатаВыдачи, ДатаОкончания,
|ДатаОтзыва, Верна, Подписана, ДатаОтправкиЗаявленияНаОтзыв, СтатусВРеестреФНС, ПротоколПроверкиМЧД, |ДатаОтзыва, Верна, Подписана, ДатаОтправкиЗаявленияНаОтзыв, СтатусВРеестреФНС, ПротоколПроверкиМЧД,
|Отозвана, НомерРодительскойДоверенности, ИННДоверителяРодительскойДоверенности, ИмяФайлаЗаявленияНаОтзыв"; |Отозвана, НомерРодительскойДоверенности, ИННДоверителяРодительскойДоверенности,
|ИмяФайлаЗаявленияНаОтзыв, ПометкаУдаления";
ЗаполнитьЗначенияСвойств(Результат, Выборка, Реквизиты); ЗаполнитьЗначенияСвойств(Результат, Выборка, Реквизиты);
@@ -3454,11 +3457,14 @@
Если Полномочия.ТипПолн = ТипыПолномочийXDTO.Текстовые Тогда Если Полномочия.ТипПолн = ТипыПолномочийXDTO.Текстовые Тогда
ПроизвольныеСведения = Макет.ПолучитьОбласть("ПроизвольныеСведения"); ПроизвольныйЗаголовок = Макет.ПолучитьОбласть("ПроизвольныйЗаголовок");
ПроизвольныеСведения.Параметры.Заголовок = НСтр("ru='Текстовое содержание полномочия'"); ПроизвольныйЗаголовок.Параметры.Заголовок = НСтр("ru='Текстовое содержание полномочия'");
ПроизвольныеСведения.Параметры.Текст = ТабличныйДокумент.Вывести(ПроизвольныйЗаголовок);
РаботаСФайламиБЭД.ЗначениеСвойстваXDTO(Полномочия, "ТекстПолн", "");
ТабличныйДокумент.Вывести(ПроизвольныеСведения); ИсходныйТекст = РаботаСФайламиБЭД.ЗначениеСвойстваXDTO(Полномочия, "ТекстПолн", "");
ПроизвольныйТекст = Макет.ПолучитьОбласть("ПроизвольныйТекст");
МашиночитаемыеДоверенности.ВывестиТекстовыеПолномочия(ИсходныйТекст, ТабличныйДокумент, ПроизвольныйТекст,
"Текст");
ИначеЕсли Полномочия.ТипПолн = ТипыПолномочийXDTO.Машиночитаемые Тогда ИначеЕсли Полномочия.ТипПолн = ТипыПолномочийXDTO.Машиночитаемые Тогда
@@ -4970,29 +4976,175 @@
Если Представитель.ТипПред = ТипыПредставителей.ЮридическоеЛицо Тогда Если Представитель.ТипПред = ТипыПредставителей.ЮридическоеЛицо Тогда
ДанныеПоля = НовыеДанныеУсловногоПоля(); ДобавитьОбязательныеПоляПроверкиПредставительЮридическоеЛицо(НаборОбязательныхПолей, Представитель,
ДанныеПоля.ОбъектXDTO = Представитель; ПутьПредставителя);
ДанныеПоля.ЛокальныйПуть = "Пред.СведОрг";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведОрг", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о представителе юридическом лице.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведОрг.ИННЮЛ";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведОрг[0].ИННЮЛ", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения об ИНН представителя.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведОрг.ОГРН";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведОрг[0].ОГРН", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения об ОГРН представителя.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ИначеЕсли Представитель.ТипПред = ТипыПредставителей.ФизическоеЛицо Тогда ИначеЕсли Представитель.ТипПред = ТипыПредставителей.ФизическоеЛицо Тогда
ДобавитьОбязательныеПоляПроверкиПредставительФизическоеЛицо(НаборОбязательныхПолей, Представитель,
ПутьПредставителя);
Если ТребуетсяИсключитьДУЛПредставителя Тогда
ДобавитьУсловныеПоляДУЛФЛПредставителяМЧДПриУсловииЗаполненностиОдного(НаборОбязательныхПолей,
Представитель, ПутьПредставителя);
Иначе
ДобавитьУсловныеПоляДУЛФЛПредставителяМЧД(НаборОбязательныхПолей, Представитель, ПутьПредставителя);
КонецЕсли;
ИначеЕсли Представитель.ТипПред = ТипыПредставителей.ИндивидуальныйПредприниматель Тогда
ДобавитьОбязательныеПоляПроверкиПредставительИндивидуальныйПредприниматель(НаборОбязательныхПолей,
Представитель, ПутьПредставителя);
Если ТребуетсяИсключитьДУЛПредставителя Тогда
ДобавитьУсловныеПоляДУЛИППредставителяМЧДПриУсловииЗаполненностиОдного(НаборОбязательныхПолей,
Представитель, ПутьПредставителя);
Иначе
ДобавитьУсловныеПоляДУЛИППредставителяМЧД(НаборОбязательныхПолей, Представитель, ПутьПредставителя);
КонецЕсли;
КонецЕсли;
Для Каждого Поле Из НаборОбязательныхПолей Цикл
ПроверитьЗаполнениеУсловногоПоля(Поле, ОшибкиЗаполнения);
КонецЦикла;
КонецПроцедуры
// Добавить все условные поля, требующие проверки заполнения, документа удостоверяющего личность физического лица
// (индивидуального предпринимателя), при условии заполненности хотя бы одного из его свойств.
// Т.е. либо заполняем все поля, либо не заполняем ни одного.
//
// Параметры:
// НаборОбязательныхПолей - Массив из Структура:
// * ОбъектXDTO - Неопределено,
// - ОбъектXDTO
// * ЛокальныйПуть - Строка
// * ПолныйПутьПоля - Строка
// * ТекстОшибки - Строка
// Представитель - ОбъектXDTO
// ПутьПредставителя - Строка
Процедура ДобавитьУсловныеПоляДУЛИППредставителяМЧДПриУсловииЗаполненностиОдного(НаборОбязательныхПолей,
Знач Представитель, Знач ПутьПредставителя)
НаборПолейДляПроверкиЧастичногоЗаполненияДУЛ = Новый Массив; // Массив из Структура см. НовыеДанныеУсловногоПоля()
НаборОбязательныхПолейДляПроверкиДУЛ = Новый Массив; // Массив из Структура см. НовыеДанныеУсловногоПоля()
ДобавитьУсловныеПоляДУЛИППредставителяМЧД(НаборПолейДляПроверкиЧастичногоЗаполненияДУЛ, Представитель,
ПутьПредставителя);
ТребуетсяОбязательноеЗаполнениеВсехПолейДУЛ = Ложь;
Для Каждого Поле Из НаборПолейДляПроверкиЧастичногоЗаполненияДУЛ Цикл
Если ДанныеОбъектаXDTOПоПути(Поле.ОбъектXDTO, Поле.ЛокальныйПуть) <> Неопределено Тогда
ТребуетсяОбязательноеЗаполнениеВсехПолейДУЛ = Истина;
Иначе
НаборОбязательныхПолейДляПроверкиДУЛ.Добавить(Поле);
КонецЕсли;
КонецЦикла;
Если ТребуетсяОбязательноеЗаполнениеВсехПолейДУЛ Тогда
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(НаборОбязательныхПолей, НаборОбязательныхПолейДляПроверкиДУЛ);
КонецЕсли;
КонецПроцедуры
// Добавить все условные поля, требующие проверки заполнения, документа удостоверяющего личность физического лица,
// при условии заполненности хотя бы одного из его свойств. Т.е. либо заполняем все поля, либо не заполняем ни одного.
// Т.е. либо заполняем все поля, либо не заполняем ни одного.
//
// Параметры:
// НаборОбязательныхПолей - Массив из Структура:
// * ОбъектXDTO - Неопределено,
// - ОбъектXDTO
// * ЛокальныйПуть - Строка
// * ПолныйПутьПоля - Строка
// * ТекстОшибки - Строка
// Представитель - ОбъектXDTO
// ПутьПредставителя - Строка
Процедура ДобавитьУсловныеПоляДУЛФЛПредставителяМЧДПриУсловииЗаполненностиОдного(НаборОбязательныхПолей,
Знач Представитель, Знач ПутьПредставителя)
НаборПолейДляПроверкиЧастичногоЗаполненияДУЛ = Новый Массив; // Массив из Структура см. НовыеДанныеУсловногоПоля()
НаборОбязательныхПолейДляПроверкиДУЛ = Новый Массив; // Массив из Структура см. НовыеДанныеУсловногоПоля()
ДобавитьУсловныеПоляДУЛФЛПредставителяМЧД(НаборПолейДляПроверкиЧастичногоЗаполненияДУЛ, Представитель,
ПутьПредставителя);
ТребуетсяОбязательноеЗаполнениеВсехПолейДУЛ = Ложь;
Для Каждого Поле Из НаборПолейДляПроверкиЧастичногоЗаполненияДУЛ Цикл
Если ДанныеОбъектаXDTOПоПути(Поле.ОбъектXDTO, Поле.ЛокальныйПуть) <> Неопределено Тогда
ТребуетсяОбязательноеЗаполнениеВсехПолейДУЛ = Истина;
Иначе
НаборОбязательныхПолейДляПроверкиДУЛ.Добавить(Поле);
КонецЕсли;
КонецЦикла;
Если ТребуетсяОбязательноеЗаполнениеВсехПолейДУЛ Тогда
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(НаборОбязательныхПолей, НаборОбязательныхПолейДляПроверкиДУЛ);
КонецЕсли;
КонецПроцедуры
// Добавить обязательные поля, требующие проверки заполнения, для представителя - индивидуального предпринимателя.
//
// Параметры:
// НаборОбязательныхПолей - Массив из Структура:
// * ОбъектXDTO - Неопределено,
// - ОбъектXDTO
// * ЛокальныйПуть - Строка
// * ПолныйПутьПоля - Строка
// * ТекстОшибки - Строка
// Представитель - ОбъектXDTO
// ПутьПредставителя - Строка
Процедура ДобавитьОбязательныеПоляПроверкиПредставительИндивидуальныйПредприниматель(НаборОбязательныхПолей,
Знач Представитель, Знач ПутьПредставителя)
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведИП";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведИП", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о представителе индивидуальном предпринимателе.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведИП.СведФЛ";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведИП[0].СведФЛ", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о физическом лице представителя - индивидуального предпринимателя.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведИП.СведФЛ.ДатаРожд";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведИП[0].СведФЛ[0].ДатаРожд", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о дате рождения физического лица представителя - индивидуального предпринимателя.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
КонецПроцедуры
// Добавить обязательные поля, требующие проверки заполнения, для представителя - физического лица.
//
// Параметры:
// НаборОбязательныхПолей - Массив из Структура:
// * ОбъектXDTO - Неопределено,
// - ОбъектXDTO
// * ЛокальныйПуть - Строка
// * ПолныйПутьПоля - Строка
// * ТекстОшибки - Строка
// Представитель - ОбъектXDTO
// ПутьПредставителя - Строка
Процедура ДобавитьОбязательныеПоляПроверкиПредставительФизическоеЛицо(НаборОбязательныхПолей, Знач Представитель,
Знач ПутьПредставителя)
ДанныеПоля = НовыеДанныеУсловногоПоля(); ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель; ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведФизЛ"; ДанныеПоля.ЛокальныйПуть = "Пред.СведФизЛ";
@@ -5021,22 +5173,58 @@
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о дате рождения физического лица.'"); ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о дате рождения физического лица.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля); НаборОбязательныхПолей.Добавить(ДанныеПоля);
ЗначениеКодаВидДокумента = ДанныеОбъектаXDTOПоПути(Представитель, "Пред.СведФизЛ.СведФЛ.УдЛичнФЛ.КодВидДок"); КонецПроцедуры
Если ТребуетсяИсключитьДУЛПредставителя Тогда // Добавить обязательные поля, требующие проверки заполнения, для представителя с типом юридическое лицо.
//
Если ЗначениеКодаВидДокумента <> Неопределено Тогда // Параметры:
ДополнитьУсловныеПоляДУЛФЛПредставителяМЧД(НаборОбязательныхПолей, Представитель, ПутьПредставителя, // НаборОбязательныхПолей - Массив из Структура:
ЗначениеКодаВидДокумента); // * ОбъектXDTO - Неопределено,
КонецЕсли; // - ОбъектXDTO
// * ЛокальныйПуть - Строка
Иначе // * ПолныйПутьПоля - Строка
// * ТекстОшибки - Строка
// Представитель - ОбъектXDTO
// ПутьПредставителя - Строка
Процедура ДобавитьОбязательныеПоляПроверкиПредставительЮридическоеЛицо(НаборОбязательныхПолей, Знач Представитель,
Знач ПутьПредставителя)
ДанныеПоля = НовыеДанныеУсловногоПоля(); ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель; ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведФизЛ.СведФЛ.УдЛичнФЛ"; ДанныеПоля.ЛокальныйПуть = "Пред.СведОрг";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ", ПутьПредставителя); ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведОрг", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о документе, удостоверяющем личность физического лица.'"); ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о представителе юридическом лице.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведОрг.ИННЮЛ";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведОрг[0].ИННЮЛ", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения об ИНН представителя.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведОрг.ОГРН";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведОрг[0].ОГРН", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения об ОГРН представителя.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
КонецПроцедуры
// Добавляет условные поля, требующие проверки заполнения документа, удостоверяющего личность представителя -
// физического лица.
//
// Параметры:
// НаборОбязательныхПолей - Массив из Структура:
// * ОбъектXDTO - Неопределено,
// - ОбъектXDTO
// * ЛокальныйПуть - Строка
// * ПолныйПутьПоля - Строка
// * ТекстОшибки - Строка
// Представитель - ОбъектXDTO
// ПутьПредставителя - Строка
Процедура ДобавитьУсловныеПоляДУЛФЛПредставителяМЧД(НаборОбязательныхПолей, Знач Представитель, Знач ПутьПредставителя)
ДанныеПоля = НовыеДанныеУсловногоПоля(); ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель; ДанныеПоля.ОбъектXDTO = Представитель;
@@ -5046,76 +5234,6 @@
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указан вид документа, удостоверяющего личность физического лица.'"); ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указан вид документа, удостоверяющего личность физического лица.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля); НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДополнитьУсловныеПоляДУЛФЛПредставителяМЧД(НаборОбязательныхПолей, Представитель, ПутьПредставителя,
ЗначениеКодаВидДокумента);
КонецЕсли;
ИначеЕсли Представитель.ТипПред = ТипыПредставителей.ИндивидуальныйПредприниматель Тогда
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведИП";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведИП", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о представителе индивидуальном предпринимателе.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведИП.СведФЛ";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведИП[0].СведФЛ", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о физическом лице представителя - индивидуального предпринимателя.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведИП.СведФЛ.ДатаРожд";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведИП[0].СведФЛ[0].ДатаРожд", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о дате рождения физического лица представителя - индивидуального предпринимателя.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ЗначениеКодаВидДокумента = ДанныеОбъектаXDTOПоПути(Представитель, "Пред.СведИП.СведФЛ.УдЛичнФЛ.КодВидДок");
Если ТребуетсяИсключитьДУЛПредставителя Тогда
Если ЗначениеКодаВидДокумента <> Неопределено Тогда
ДополнитьУсловныеПоляДУЛИППредставителяМЧД(НаборОбязательныхПолей, Представитель, ПутьПредставителя,
ЗначениеКодаВидДокумента);
КонецЕсли;
Иначе
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведИП.СведФЛ.УдЛичнФЛ";
ДанныеПоля.ПолныйПутьПоля = СтрШаблон("%1.Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указаны сведения о документе, удостоверяющем личность физического лица.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведИП.СведФЛ.УдЛичнФЛ.КодВидДок";
ДанныеПоля.ПолныйПутьПоля =
СтрШаблон("%1.Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0].КодВидДок", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указан вид документа, удостоверяющего личность физического лица.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДополнитьУсловныеПоляДУЛИППредставителяМЧД(НаборОбязательныхПолей, Представитель, ПутьПредставителя,
ЗначениеКодаВидДокумента);
КонецЕсли;
КонецЕсли;
Для Каждого Поле Из НаборОбязательныхПолей Цикл
ПроверитьЗаполнениеУсловногоПоля(Поле, ОшибкиЗаполнения);
КонецЦикла;
КонецПроцедуры
Процедура ДополнитьУсловныеПоляДУЛФЛПредставителяМЧД(НаборОбязательныхПолей, Представитель, ПутьПредставителя,
ЗначениеКодаВидДокумента)
ДанныеПоля = НовыеДанныеУсловногоПоля(); ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель; ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведФизЛ.СведФЛ.УдЛичнФЛ.СерНомДок"; ДанныеПоля.ЛокальныйПуть = "Пред.СведФизЛ.СведФЛ.УдЛичнФЛ.СерНомДок";
@@ -5132,6 +5250,8 @@
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указана дата выдачи документа, удостоверяющего личность физического лица.'"); ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указана дата выдачи документа, удостоверяющего личность физического лица.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля); НаборОбязательныхПолей.Добавить(ДанныеПоля);
ЗначениеКодаВидДокумента = ДанныеОбъектаXDTOПоПути(Представитель, "Пред.СведФизЛ.СведФЛ.УдЛичнФЛ.КодВидДок");
Если ЗначениеКодаВидДокумента <> "10" Тогда Если ЗначениеКодаВидДокумента <> "10" Тогда
ДанныеПоля = НовыеДанныеУсловногоПоля(); ДанныеПоля = НовыеДанныеУсловногоПоля();
@@ -5166,8 +5286,27 @@
КонецПроцедуры КонецПроцедуры
Процедура ДополнитьУсловныеПоляДУЛИППредставителяМЧД(НаборОбязательныхПолей, Представитель, ПутьПредставителя, // Добавляет условные поля, требующие проверки заполнения документа, удостоверяющего личность представителя -
ЗначениеКодаВидДокумента) // индивидуального предпринимателя.
//
// Параметры:
// НаборОбязательныхПолей - Массив из Структура:
// * ОбъектXDTO - Неопределено,
// - ОбъектXDTO
// * ЛокальныйПуть - Строка
// * ПолныйПутьПоля - Строка
// * ТекстОшибки - Строка
// Представитель - ОбъектXDTO
// ПутьПредставителя - Строка
Процедура ДобавитьУсловныеПоляДУЛИППредставителяМЧД(НаборОбязательныхПолей, Знач Представитель, Знач ПутьПредставителя)
ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель;
ДанныеПоля.ЛокальныйПуть = "Пред.СведИП.СведФЛ.УдЛичнФЛ.КодВидДок";
ДанныеПоля.ПолныйПутьПоля =
СтрШаблон("%1.Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0].КодВидДок", ПутьПредставителя);
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указан вид документа, удостоверяющего личность физического лица.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля);
ДанныеПоля = НовыеДанныеУсловногоПоля(); ДанныеПоля = НовыеДанныеУсловногоПоля();
ДанныеПоля.ОбъектXDTO = Представитель; ДанныеПоля.ОбъектXDTO = Представитель;
@@ -5185,6 +5324,8 @@
ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указана дата выдачи документа, удостоверяющего личность физического лица.'"); ДанныеПоля.ТекстОшибки = НСтр("ru = 'Не указана дата выдачи документа, удостоверяющего личность физического лица.'");
НаборОбязательныхПолей.Добавить(ДанныеПоля); НаборОбязательныхПолей.Добавить(ДанныеПоля);
ЗначениеКодаВидДокумента = ДанныеОбъектаXDTOПоПути(Представитель, "Пред.СведИП.СведФЛ.УдЛичнФЛ.КодВидДок");
Если ЗначениеКодаВидДокумента <> "10" Тогда Если ЗначениеКодаВидДокумента <> "10" Тогда
ДанныеПоля = НовыеДанныеУсловногоПоля(); ДанныеПоля = НовыеДанныеУсловногоПоля();
@@ -261,7 +261,7 @@
<ContextMenu name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="1894"/> <ContextMenu name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="1894"/>
<ExtendedTooltip name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="1895"/> <ExtendedTooltip name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="1895"/>
</InputField> </InputField>
<InputField name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛexpDate" id="1896"> <InputField name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействия" id="1896">
<DataPath>СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath> <DataPath>СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath>
<Visible>false</Visible> <Visible>false</Visible>
<Title> <Title>
@@ -277,8 +277,8 @@
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<HorizontalStretch>false</HorizontalStretch> <HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛexpDateКонтекстноеМеню" id="1897"/> <ContextMenu name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействияКонтекстноеМеню" id="1897"/>
<ExtendedTooltip name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛexpDateРасширеннаяПодсказка" id="1898"/> <ExtendedTooltip name="СвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействияРасширеннаяПодсказка" id="1898"/>
</InputField> </InputField>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
@@ -527,8 +527,9 @@
<ContextMenu name="СвУпПредПредСведИПСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="1952"/> <ContextMenu name="СвУпПредПредСведИПСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="1952"/>
<ExtendedTooltip name="СвУпПредПредСведИПСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="1953"/> <ExtendedTooltip name="СвУпПредПредСведИПСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="1953"/>
</InputField> </InputField>
<InputField name="СвУпПредПредСведИПСведФЛУдЛичнФЛexpDate" id="1954"> <InputField name="СвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействия" id="1954">
<DataPath>СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath> <DataPath>СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath>
<Visible>false</Visible>
<Title> <Title>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
@@ -542,8 +543,8 @@
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<HorizontalStretch>false</HorizontalStretch> <HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="СвУпПредПредСведИПСведФЛУдЛичнФЛexpDateКонтекстноеМеню" id="1955"/> <ContextMenu name="СвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействияКонтекстноеМеню" id="1955"/>
<ExtendedTooltip name="СвУпПредПредСведИПСведФЛУдЛичнФЛexpDateРасширеннаяПодсказка" id="1956"/> <ExtendedTooltip name="СвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействияРасширеннаяПодсказка" id="1956"/>
</InputField> </InputField>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
@@ -19,8 +19,12 @@
ОтображаемаяГруппа = Элементы.ГруппаПредставитель_Организация; ОтображаемаяГруппа = Элементы.ГруппаПредставитель_Организация;
ИначеЕсли СвУпПред[0].ТипПред = ТипыПредставителей.ИндивидуальныйПредприниматель Тогда ИначеЕсли СвУпПред[0].ТипПред = ТипыПредставителей.ИндивидуальныйПредприниматель Тогда
ОтображаемаяГруппа = Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель; ОтображаемаяГруппа = Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель;
УстановитьВидимостьПоляСрокДействия(Элементы.СвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействия,
СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0].КодВидДок);
Иначе Иначе
ОтображаемаяГруппа = Элементы.ГруппаПредставитель_ФизическоеЛицо; ОтображаемаяГруппа = Элементы.ГруппаПредставитель_ФизическоеЛицо;
УстановитьВидимостьПоляСрокДействия(Элементы.СвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействия,
СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0].КодВидДок);
КонецЕсли; КонецЕсли;
ПоказатьГруппу(Элементы.ГруппаПредставитель, ОтображаемаяГруппа); ПоказатьГруппу(Элементы.ГруппаПредставитель, ОтображаемаяГруппа);
@@ -74,8 +78,10 @@
Процедура СвУпПредПредСведФизЛСведФЛУдЛичнФЛКодВидДокПриИзменении(Элемент) Процедура СвУпПредПредСведФизЛСведФЛУдЛичнФЛКодВидДокПриИзменении(Элемент)
ПоляУдостоверяющиеЛичностьФизическогоЛица = СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0]; ПоляУдостоверяющиеЛичностьФизическогоЛица = СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.СвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -83,8 +89,10 @@
Процедура СвУпПредПредСведФизЛСведФЛУдЛичнФЛКодВидДокОчистка(Элемент, СтандартнаяОбработка) Процедура СвУпПредПредСведФизЛСведФЛУдЛичнФЛКодВидДокОчистка(Элемент, СтандартнаяОбработка)
ПоляУдостоверяющиеЛичностьФизическогоЛица = СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0]; ПоляУдостоверяющиеЛичностьФизическогоЛица = СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.СвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -92,8 +100,10 @@
Процедура СвУпПредПредСведИПСведФЛУдЛичнФЛКодВидДокПриИзменении(Элемент) Процедура СвУпПредПредСведИПСведФЛУдЛичнФЛКодВидДокПриИзменении(Элемент)
ПоляУдостоверяющиеЛичностьФизическогоЛица = СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0]; ПоляУдостоверяющиеЛичностьФизическогоЛица = СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.СвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -101,10 +111,13 @@
Процедура СвУпПредПредСведИПСведФЛУдЛичнФЛКодВидДокОчистка(Элемент, СтандартнаяОбработка) Процедура СвУпПредПредСведИПСведФЛУдЛичнФЛКодВидДокОчистка(Элемент, СтандартнаяОбработка)
ПоляУдостоверяющиеЛичностьФизическогоЛица = СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0]; ПоляУдостоверяющиеЛичностьФизическогоЛица = СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.СвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ОбработчикиКомандФормы #Область ОбработчикиКомандФормы
@@ -200,6 +213,8 @@
ЗаполнитьТаблицуТипаСведФЛ(СведенияОФизЛице.СведФЛ[0], СтруктураСведений); ЗаполнитьТаблицуТипаСведФЛ(СведенияОФизЛице.СведФЛ[0], СтруктураСведений);
ПоказатьГруппу(Элементы.ГруппаПредставитель, Элементы.ГруппаПредставитель_ФизическоеЛицо); ПоказатьГруппу(Элементы.ГруппаПредставитель, Элементы.ГруппаПредставитель_ФизическоеЛицо);
СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставитель_ФизическоеЛицо, Истина); СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставитель_ФизическоеЛицо, Истина);
УстановитьВидимостьПоляСрокДействия(Элементы.СвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействия,
СведенияОФизЛице.СведФЛ[0].УдЛичнФЛ[0].КодВидДок);
Иначе Иначе
СтруктураСведений = ОбщегоНазначенияБЭД.ДанныеЮрФизЛица(Представитель); СтруктураСведений = ОбщегоНазначенияБЭД.ДанныеЮрФизЛица(Представитель);
Если ИнтеграцияЭДО.ЭтоФизЛицо(Представитель) Тогда Если ИнтеграцияЭДО.ЭтоФизЛицо(Представитель) Тогда
@@ -213,6 +228,8 @@
СведенияОбИП.СведФЛ[0].ФИО[0].Отчество = СтруктураСведений.Отчество; СведенияОбИП.СведФЛ[0].ФИО[0].Отчество = СтруктураСведений.Отчество;
ПоказатьГруппу(Элементы.ГруппаПредставитель, Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель); ПоказатьГруппу(Элементы.ГруппаПредставитель, Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель);
СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель, Истина); СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель, Истина);
УстановитьВидимостьПоляСрокДействия(Элементы.СвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействия,
СведенияОбИП.СведФЛ[0].УдЛичнФЛ[0].КодВидДок);
Иначе Иначе
СвУпПред[0].ТипПред = ТипыПредставителей.ЮридическоеЛицо; СвУпПред[0].ТипПред = ТипыПредставителей.ЮридическоеЛицо;
СведенияОЮрЛице = СвУпПред[0].Пред[0].СведОрг[0]; СведенияОЮрЛице = СвУпПред[0].Пред[0].СведОрг[0];
@@ -230,19 +247,9 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Процедура ЗаполнитьТаблицуТипаСведФЛ(СведФЛ, СтруктураСведений) Процедура ЗаполнитьТаблицуТипаСведФЛ(СведФЛ, СтруктураСведений)
СведФЛ.ФИО[0].Фамилия = СтруктураСведений.Фамилия;
СведФЛ.ФИО[0].Имя = СтруктураСведений.Имя; МашиночитаемыеДоверенности.ЗаполнитьТаблицуТипаСведФЛ(СведФЛ, СтруктураСведений);
СведФЛ.ФИО[0].Отчество = СтруктураСведений.Отчество;
СведФЛ.ДатаРожд = СтруктураСведений.ДатаРождения;
Ключи = "КемВыдан, ДатаВыдачи, КодФНС, КодПодразделения, Серия, Номер";
СведенияУдостоверения = Новый Структура(Ключи);
ЗаполнитьЗначенияСвойств(СведенияУдостоверения, СтруктураСведений);
СведФЛ.УдЛичнФЛ[0].ВыдДок = СведенияУдостоверения.КемВыдан;
СведФЛ.УдЛичнФЛ[0].ДатаДок = СведенияУдостоверения.ДатаВыдачи;
СведФЛ.УдЛичнФЛ[0].КодВидДок = СведенияУдостоверения.КодФНС;
СведФЛ.УдЛичнФЛ[0].КодВыдДок = СведенияУдостоверения.КодПодразделения;
СведФЛ.УдЛичнФЛ[0].СерНомДок = СтрШаблон("%1 %2", СведенияУдостоверения.Серия, СведенияУдостоверения.Номер);
СведФЛ.УдЛичнФЛ[0].expDate = СтруктураСведений.СрокДействия;
КонецПроцедуры КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста &НаКлиентеНаСервереБезКонтекста
@@ -807,6 +814,14 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьПоляСрокДействия(ПолеФормыСрокДействия, ЗначениеПоляКодВидДок)
МашиночитаемыеДоверенностиКлиентСервер.УстановитьВидимостьПоляСрокДействия(ПолеФормыСрокДействия,
ЗначениеПоляКодВидДок);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -13,11 +13,19 @@
<VerticalScroll>useIfNecessary</VerticalScroll> <VerticalScroll>useIfNecessary</VerticalScroll>
<CommandSet> <CommandSet>
<ExcludedCommand>Copy</ExcludedCommand> <ExcludedCommand>Copy</ExcludedCommand>
<ExcludedCommand>Delete</ExcludedCommand>
<ExcludedCommand>Reread</ExcludedCommand> <ExcludedCommand>Reread</ExcludedCommand>
<ExcludedCommand>SetDeletionMark</ExcludedCommand>
</CommandSet> </CommandSet>
<UseForFoldersAndItems>Items</UseForFoldersAndItems> <UseForFoldersAndItems>Items</UseForFoldersAndItems>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> <AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems> <ChildItems>
<Button name="ФормаУстановитьСнятьПометкуУдаления" id="536">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.УстановитьСнятьПометкуУдаления</CommandName>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаУстановитьСнятьПометкуУдаленияРасширеннаяПодсказка" id="537"/>
</Button>
<Button name="ФормаПеречитатьНаКлиенте" id="443"> <Button name="ФормаПеречитатьНаКлиенте" id="443">
<Type>CommandBarButton</Type> <Type>CommandBarButton</Type>
<CommandName>Form.Command.ПеречитатьНаКлиенте</CommandName> <CommandName>Form.Command.ПеречитатьНаКлиенте</CommandName>
@@ -63,11 +71,11 @@
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar> <LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаЗарегистрироватьВРРФНСРасширеннаяПодсказка" id="397"/> <ExtendedTooltip name="ФормаЗарегистрироватьВРРФНСРасширеннаяПодсказка" id="397"/>
</Button> </Button>
<Button name="ФормаПерепроверитьПодпись" id="536"> <Button name="ФормаПерепроверитьПодпись" id="619">
<Type>CommandBarButton</Type> <Type>CommandBarButton</Type>
<CommandName>Form.Command.ПерепроверитьПодпись</CommandName> <CommandName>Form.Command.ПерепроверитьПодпись</CommandName>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar> <LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаПерепроверитьПодписьРасширеннаяПодсказка" id="537"/> <ExtendedTooltip name="ФормаПерепроверитьПодписьРасширеннаяПодсказка" id="620"/>
</Button> </Button>
</ChildItems> </ChildItems>
</ButtonGroup> </ButtonGroup>
@@ -485,12 +493,6 @@
<v8:content>Группа передоверия</v8:content> <v8:content>Группа передоверия</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<HorizontalAlign>Left</HorizontalAlign> <HorizontalAlign>Left</HorizontalAlign>
<Representation>None</Representation> <Representation>None</Representation>
@@ -2299,7 +2301,7 @@
<Action>ОбновитьСписокПодписанныеДокументы</Action> <Action>ОбновитьСписокПодписанныеДокументы</Action>
<Representation>TextPicture</Representation> <Representation>TextPicture</Representation>
</Command> </Command>
<Command name="ПерепроверитьПодпись" id="23"> <Command name="ПерепроверитьПодпись" id="24">
<Title> <Title>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
@@ -2308,5 +2310,19 @@
</Title> </Title>
<Action>ПерепроверитьПодпись</Action> <Action>ПерепроверитьПодпись</Action>
</Command> </Command>
<Command name="УстановитьСнятьПометкуУдаления" id="23">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пометить на удаление / Снять пометку</v8:content>
</v8:item>
</Title>
<Picture>
<xr:Ref>StdPicture.MarkToDelete</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>УстановитьСнятьПометкуУдаления</Action>
<Representation>TextPicture</Representation>
</Command>
</Commands> </Commands>
</Form> </Form>
@@ -568,6 +568,16 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура УстановитьСнятьПометкуУдаления(Команда)
ТекстВопроса = МашиночитаемыеДоверенностиКлиент.ПолучитьТекстВопросаУстановитьСнятьПометкуУдаления(Объект);
ОписаниеОповещения = Новый ОписаниеОповещения("УстановитьСнятьПометкуУдаленияПродолжение", ЭтотОбъект, УникальныйИдентификатор);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -791,7 +801,8 @@
Элементы.ФормаОтозвать.Видимость = Элементы.ФормаОтозвать.Видимость =
Объект.СрокДействия > ОбщегоНазначенияКлиент.ДатаСеанса() Объект.СрокДействия > ОбщегоНазначенияКлиент.ДатаСеанса()
И Объект.СтатусВРеестреФНС <> ПредопределенноеЗначение("Перечисление.СтатусыМашиночитаемойДоверенностиВРеестреФНС.Отозвано"); И Объект.СтатусВРеестреФНС <> ПредопределенноеЗначение("Перечисление.СтатусыМашиночитаемойДоверенностиВРеестреФНС.Отозвано")
И ЕстьПравоИзмененияМЧД;
ВидимостьКомандВыгрузки = Объект.СтатусВРеестреФНС = ПредопределенноеЗначение( ВидимостьКомандВыгрузки = Объект.СтатусВРеестреФНС = ПредопределенноеЗначение(
"Перечисление.СтатусыМашиночитаемойДоверенностиВРеестреФНС.ОтправленоЗаявлениеНаОтзыв") "Перечисление.СтатусыМашиночитаемойДоверенностиВРеестреФНС.ОтправленоЗаявлениеНаОтзыв")
@@ -1430,4 +1441,25 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура УстановитьСнятьПометкуУдаленияПродолжение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
УстановитьСнятьПометкуУдаленияНаСервере(Объект.Ссылка, ДополнительныеПараметры);
МашиночитаемыеДоверенностиКлиент.ОповеститьОбИзмененииПометкиУдаленияМЧД(
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Объект.Ссылка));
Прочитать();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура УстановитьСнятьПометкуУдаленияНаСервере(Знач Ссылка, Знач УникальныйИдентификатор)
МашиночитаемыеДоверенности.УстановитьСнятьПометкуУдаления(Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -1325,7 +1325,7 @@
<ContextMenu name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="435"/> <ContextMenu name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="435"/>
<ExtendedTooltip name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="436"/> <ExtendedTooltip name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="436"/>
</InputField> </InputField>
<InputField name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛexpDate" id="437"> <InputField name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействия" id="437">
<DataPath>Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath> <DataPath>Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath>
<Visible>false</Visible> <Visible>false</Visible>
<Title> <Title>
@@ -1341,8 +1341,8 @@
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<HorizontalStretch>false</HorizontalStretch> <HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛexpDateКонтекстноеМеню" id="438"/> <ContextMenu name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействияКонтекстноеМеню" id="438"/>
<ExtendedTooltip name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛexpDateРасширеннаяПодсказка" id="439"/> <ExtendedTooltip name="ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействияРасширеннаяПодсказка" id="439"/>
</InputField> </InputField>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
@@ -1597,7 +1597,7 @@
<ContextMenu name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="493"/> <ContextMenu name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="493"/>
<ExtendedTooltip name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="494"/> <ExtendedTooltip name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="494"/>
</InputField> </InputField>
<InputField name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛexpDate" id="495"> <InputField name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействия" id="495">
<DataPath>Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath> <DataPath>Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath>
<Visible>false</Visible> <Visible>false</Visible>
<Title> <Title>
@@ -1613,8 +1613,8 @@
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<HorizontalStretch>false</HorizontalStretch> <HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛexpDateКонтекстноеМеню" id="496"/> <ContextMenu name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействияКонтекстноеМеню" id="496"/>
<ExtendedTooltip name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛexpDateРасширеннаяПодсказка" id="497"/> <ExtendedTooltip name="ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействияРасширеннаяПодсказка" id="497"/>
</InputField> </InputField>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
@@ -336,8 +336,10 @@
ПоляУдостоверяющиеЛичностьФизическогоЛица ПоляУдостоверяющиеЛичностьФизическогоЛица
= Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0]; = Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -346,8 +348,10 @@
ПоляУдостоверяющиеЛичностьФизическогоЛица ПоляУдостоверяющиеЛичностьФизическогоЛица
= Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0]; = Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -356,8 +360,10 @@
ПоляУдостоверяющиеЛичностьФизическогоЛица ПоляУдостоверяющиеЛичностьФизическогоЛица
= Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0]; = Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -366,8 +372,10 @@
ПоляУдостоверяющиеЛичностьФизическогоЛица ПоляУдостоверяющиеЛичностьФизическогоЛица
= Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0]; = Доверенность[0].Документ[0].Довер[0].СвУпПред[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -816,6 +824,9 @@
ЗаполнитьТаблицуТипаСведФЛ(СведенияОФизЛице.СведФЛ[0], СтруктураСведений); ЗаполнитьТаблицуТипаСведФЛ(СведенияОФизЛице.СведФЛ[0], СтруктураСведений);
ПоказатьГруппу(Элементы.ГруппаПредставитель, Элементы.ГруппаПредставитель_ФизическоеЛицо); ПоказатьГруппу(Элементы.ГруппаПредставитель, Элементы.ГруппаПредставитель_ФизическоеЛицо);
СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставитель_ФизическоеЛицо, Истина); СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставитель_ФизическоеЛицо, Истина);
УстановитьВидимостьПоляСрокДействия(
Элементы.ДоверенностьДокументДоверСвУпПредПредСведФизЛСведФЛУдЛичнФЛСрокДействия,
СведенияОФизЛице.СведФЛ[0].УдЛичнФЛ[0].КодВидДок);
Иначе Иначе
СтруктураСведений = ОбщегоНазначенияБЭД.ДанныеЮрФизЛица(Представитель); СтруктураСведений = ОбщегоНазначенияБЭД.ДанныеЮрФизЛица(Представитель);
Если ИнтеграцияЭДО.ЭтоФизЛицо(Представитель) Тогда Если ИнтеграцияЭДО.ЭтоФизЛицо(Представитель) Тогда
@@ -830,6 +841,9 @@
ПоказатьГруппу(Элементы.ГруппаПредставитель, Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель); ПоказатьГруппу(Элементы.ГруппаПредставитель, Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель);
СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель, Истина); СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставитель_ИндивидуальныйПредприниматель, Истина);
УстановитьВидимостьПоляСрокДействия(
Элементы.ДоверенностьДокументДоверСвУпПредПредСведИПСведФЛУдЛичнФЛСрокДействия,
СведенияОбИП.СведФЛ[0].УдЛичнФЛ[0].КодВидДок);
Иначе Иначе
СведенияОПредставителе[0].ТипПред = ТипыПредставителей.ЮридическоеЛицо; СведенияОПредставителе[0].ТипПред = ТипыПредставителей.ЮридическоеЛицо;
СведенияОЮрЛице = СведенияОПредставителе[0].Пред[0].СведОрг[0]; СведенияОЮрЛице = СведенияОПредставителе[0].Пред[0].СведОрг[0];
@@ -867,18 +881,9 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Процедура ЗаполнитьТаблицуТипаСведФЛ(СведФЛ, СтруктураСведений) Процедура ЗаполнитьТаблицуТипаСведФЛ(СведФЛ, СтруктураСведений)
СведФЛ.ФИО[0].Фамилия = СтруктураСведений.Фамилия;
СведФЛ.ФИО[0].Имя = СтруктураСведений.Имя; МашиночитаемыеДоверенности.ЗаполнитьТаблицуТипаСведФЛ(СведФЛ, СтруктураСведений);
СведФЛ.ФИО[0].Отчество = СтруктураСведений.Отчество;
СведФЛ.ДатаРожд = СтруктураСведений.ДатаРождения;
Ключи = "КемВыдан, ДатаВыдачи, КодФНС, КодПодразделения, Серия, Номер";
СведенияУдостоверения = Новый Структура(Ключи);
ЗаполнитьЗначенияСвойств(СведенияУдостоверения, СтруктураСведений);
СведФЛ.УдЛичнФЛ[0].ВыдДок = СведенияУдостоверения.КемВыдан;
СведФЛ.УдЛичнФЛ[0].ДатаДок = СведенияУдостоверения.ДатаВыдачи;
СведФЛ.УдЛичнФЛ[0].КодВидДок = СведенияУдостоверения.КодФНС;
СведФЛ.УдЛичнФЛ[0].КодВыдДок = СведенияУдостоверения.КодПодразделения;
СведФЛ.УдЛичнФЛ[0].СерНомДок = СтрШаблон("%1 %2", СведенияУдостоверения.Серия, СведенияУдостоверения.Номер);
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -1309,6 +1314,27 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ДублиПолномочий = Новый Массив;
Для Каждого ДобавляемоеПолномочие Из Результат.НастройкиТекущегоПравила Цикл
ПараметрыОтбора = Новый Структура("КодПолномочия", ДобавляемоеПолномочие.КодПолномочия);
НайденныеСтроки = НастройкиПроверкиРасширенные.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() > 0 Тогда
ДублиПолномочий.Добавить(ДобавляемоеПолномочие);
КонецЕсли;
КонецЦикла;
Если ДублиПолномочий.Количество() > 0 Тогда
Если Результат.НастройкиТекущегоПравила.Количество() = 1 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Добавляемое полномочие уже есть в списке.'"));
Возврат;
Иначе
ПоказатьПредупреждение(, НСтр("ru = 'Дубли добавляемых полномочий были удалены.'"));
КонецЕсли;
Результат.НастройкиТекущегоПравила =
ОбщегоНазначенияКлиентСервер.РазностьМассивов(Результат.НастройкиТекущегоПравила, ДублиПолномочий);
КонецЕсли;
Модифицированность = Истина; Модифицированность = Истина;
ТекущийПорядковыйНомер = Результат.ПорядковыйНомер; ТекущийПорядковыйНомер = Результат.ПорядковыйНомер;
@@ -1486,29 +1512,6 @@
НастройкиПроверкиРасширенные.Удалить(ТекущаяСтрока); НастройкиПроверкиРасширенные.Удалить(ТекущаяСтрока);
КонецЦикла; КонецЦикла;
УникальныеПорядковыеНомера = Новый Массив;
Для Каждого ТекущаяСтрока Из НастройкиПроверкиРасширенные Цикл
Если УникальныеПорядковыеНомера.Найти(ТекущаяСтрока.ПорядковыйНомер) = Неопределено Тогда
УникальныеПорядковыеНомера.Добавить(ТекущаяСтрока.ПорядковыйНомер);
КонецЕсли;
КонецЦикла;
НовыйПорядковыйНомер = 1;
Для Каждого ПорядковыйНомер Из УникальныеПорядковыеНомера Цикл
ПараметрыОтбора = Новый Структура("ПорядковыйНомер", ПорядковыйНомер);
НайденныеСтроки = НастройкиПроверкиРасширенные.НайтиСтроки(ПараметрыОтбора);
НовыйПорядковыйНомер = Мин(НовыйПорядковыйНомер, ПорядковыйНомер);
Для Каждого ТекущаяСтрока Из НайденныеСтроки Цикл
ТекущаяСтрока.ПорядковыйНомер = НовыйПорядковыйНомер;
КонецЦикла;
НовыйПорядковыйНомер = НовыйПорядковыйНомер + 1;
КонецЦикла;
Иначе Иначе
ПорядковыйНомер = ПараметрыВыполнения.ПорядковыйНомер; ПорядковыйНомер = ПараметрыВыполнения.ПорядковыйНомер;
@@ -1533,6 +1536,29 @@
КонецЕсли; КонецЕсли;
УникальныеПорядковыеНомера = Новый Массив;
Для Каждого ТекущаяСтрока Из НастройкиПроверкиРасширенные Цикл
Если УникальныеПорядковыеНомера.Найти(ТекущаяСтрока.ПорядковыйНомер) = Неопределено Тогда
УникальныеПорядковыеНомера.Добавить(ТекущаяСтрока.ПорядковыйНомер);
КонецЕсли;
КонецЦикла;
НовыйПорядковыйНомер = 1;
Для Каждого ПорядковыйНомер Из УникальныеПорядковыеНомера Цикл
ПараметрыОтбора = Новый Структура("ПорядковыйНомер", ПорядковыйНомер);
НайденныеСтроки = НастройкиПроверкиРасширенные.НайтиСтроки(ПараметрыОтбора);
НовыйПорядковыйНомер = Мин(НовыйПорядковыйНомер, ПорядковыйНомер);
Для Каждого ТекущаяСтрока Из НайденныеСтроки Цикл
ТекущаяСтрока.ПорядковыйНомер = НовыйПорядковыйНомер;
КонецЦикла;
НовыйПорядковыйНомер = НовыйПорядковыйНомер + 1;
КонецЦикла;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -1617,6 +1643,17 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЭтоПолномочиеСОграничением =
Результат.НастройкиТекущегоПравила[0].КонтекстПолномочия =
МашиночитаемыеДоверенностиКлиентСервер.ПризнакПолномочиеСОграничением();
ПараметрыОтбора = Новый Структура("КодПолномочия", Результат.НастройкиТекущегоПравила[0].КодПолномочия);
НайденныеСтроки = НастройкиПроверкиРасширенные.НайтиСтроки(ПараметрыОтбора);
Если Не ЭтоПолномочиеСОграничением И НайденныеСтроки.Количество() > 0 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Выбранное полномочие уже есть в списке.'"));
Возврат;
КонецЕсли;
Модифицированность = Истина; Модифицированность = Истина;
ТекущийПорядковыйНомер = Результат.ПорядковыйНомер; ТекущийПорядковыйНомер = Результат.ПорядковыйНомер;
@@ -3507,4 +3544,12 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьПоляСрокДействия(ПолеФормыСрокДействия, ЗначениеПоляКодВидДок)
МашиночитаемыеДоверенностиКлиентСервер.УстановитьВидимостьПоляСрокДействия(ПолеФормыСрокДействия,
ЗначениеПоляКодВидДок);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -54,12 +54,6 @@
<v8:content>Группа информация по исходной МЧД</v8:content> <v8:content>Группа информация по исходной МЧД</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа информация по исходной МЧД</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -116,12 +110,6 @@
<v8:content>Основные реквизиты</v8:content> <v8:content>Основные реквизиты</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа создание передоверия</v8:content>
</v8:item>
</ToolTip>
<ExtendedTooltip name="ГруппаСозданиеПередоверияРасширеннаяПодсказка" id="587"/> <ExtendedTooltip name="ГруппаСозданиеПередоверияРасширеннаяПодсказка" id="587"/>
<ChildItems> <ChildItems>
<UsualGroup name="ГруппаСубъектыПередоверия" id="601"> <UsualGroup name="ГруппаСубъектыПередоверия" id="601">
@@ -131,12 +119,6 @@
<v8:content>Группа субъекты доверенности</v8:content> <v8:content>Группа субъекты доверенности</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа субъекты передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>AlwaysHorizontal</Group> <Group>AlwaysHorizontal</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -150,12 +132,6 @@
<v8:content>Группа доверители</v8:content> <v8:content>Группа доверители</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа доверители передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -170,12 +146,6 @@
<v8:content>Группа шапка</v8:content> <v8:content>Группа шапка</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа шапка передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -200,12 +170,6 @@
<v8:content>Группа срок действия</v8:content> <v8:content>Группа срок действия</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа срок действия передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>AlwaysHorizontal</Group> <Group>AlwaysHorizontal</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -251,12 +215,6 @@
<v8:content>Группа заголовок группы доверители</v8:content> <v8:content>Группа заголовок группы доверители</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа заголовок группы доверители передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>AlwaysHorizontal</Group> <Group>AlwaysHorizontal</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -283,12 +241,6 @@
<v8:content>Группа представление доверителей передоверия</v8:content> <v8:content>Группа представление доверителей передоверия</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представление доверителей передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -302,12 +254,6 @@
<v8:content>Группа один доверитель передоверия</v8:content> <v8:content>Группа один доверитель передоверия</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа один доверитель передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -321,12 +267,6 @@
<v8:content>Группа доверитель</v8:content> <v8:content>Группа доверитель</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа доверитель передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -340,12 +280,6 @@
<v8:content>Группа доверитель юридическое лицо</v8:content> <v8:content>Группа доверитель юридическое лицо</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа доверитель передоверия юридическое лицо</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -374,12 +308,6 @@
<v8:content>Группа доверитель юридическое лицо ИНН и КПП</v8:content> <v8:content>Группа доверитель юридическое лицо ИНН и КПП</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа доверитель передоверия юридическое лицо ИНН и КПП</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -1399,7 +1327,7 @@
<ContextMenu name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="1267"/> <ContextMenu name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="1267"/>
<ExtendedTooltip name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="1268"/> <ExtendedTooltip name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="1268"/>
</InputField> </InputField>
<InputField name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛexpDate" id="1269"> <InputField name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛСрокДействия" id="1269">
<DataPath>Доверенность[0].Документ[0].Передов[0].СвПередПолн[0].ПередПолн[0].ФилПерПолн[0].СвРукФил[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath> <DataPath>Доверенность[0].Документ[0].Передов[0].СвПередПолн[0].ПередПолн[0].ФилПерПолн[0].СвРукФил[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath>
<Title> <Title>
<v8:item> <v8:item>
@@ -1407,8 +1335,8 @@
<v8:content>Срок</v8:content> <v8:content>Срок</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ContextMenu name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛexpDateКонтекстноеМеню" id="1270"/> <ContextMenu name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛСрокДействияКонтекстноеМеню" id="1270"/>
<ExtendedTooltip name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛexpDateРасширеннаяПодсказка" id="1271"/> <ExtendedTooltip name="ДоверенностьДокументПередовСвПередПолнПередПолнФилПерПолнСвРукФилСведФЛУдЛичнФЛСрокДействияРасширеннаяПодсказка" id="1271"/>
</InputField> </InputField>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
@@ -1491,7 +1419,7 @@
<ToolTip> <ToolTip>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
<v8:content>Группа доверитель передоверия юридическое лицо ИННи КПП</v8:content> <v8:content>Группа доверитель передоверия юридическое лицо ИНН и КПП</v8:content>
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
@@ -1578,12 +1506,6 @@
<v8:content>Группа доверитель ю л лица без доверенности передоверия</v8:content> <v8:content>Группа доверитель ю л лица без доверенности передоверия</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа доверитель филиал иностранной организации лица без доверенности передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<United>false</United> <United>false</United>
@@ -1597,12 +1519,6 @@
<v8:content>Группа заголовок группы доверитель юридического лица без доверенности</v8:content> <v8:content>Группа заголовок группы доверитель юридического лица без доверенности</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа заголовок группы доверитель передоверия филиал иностранной организации руководитель ИО</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -1622,12 +1538,6 @@
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
<UsualGroup name="ГруппаОдноЛицо_ФилиалИностраннойОрганизации_Руководитель" id="1055"> <UsualGroup name="ГруппаОдноЛицо_ФилиалИностраннойОрганизации_Руководитель" id="1055">
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа одно лицо филиал иностранной организации руководитель</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -1826,7 +1736,7 @@
<ContextMenu name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="1187"/> <ContextMenu name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="1187"/>
<ExtendedTooltip name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="1188"/> <ExtendedTooltip name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="1188"/>
</InputField> </InputField>
<InputField name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛexpDate" id="1189"> <InputField name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛСрокДействия" id="1189">
<DataPath>Доверенность[0].Документ[0].Передов[0].СвПередПолн[0].ПередПолн[0].ИнПерПолн[0].СвРукОП[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath> <DataPath>Доверенность[0].Документ[0].Передов[0].СвПередПолн[0].ПередПолн[0].ИнПерПолн[0].СвРукОП[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath>
<Title> <Title>
<v8:item> <v8:item>
@@ -1834,8 +1744,8 @@
<v8:content>Срок</v8:content> <v8:content>Срок</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ContextMenu name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛexpDateКонтекстноеМеню" id="1190"/> <ContextMenu name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛСрокДействияКонтекстноеМеню" id="1190"/>
<ExtendedTooltip name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛexpDateРасширеннаяПодсказка" id="1191"/> <ExtendedTooltip name="ДоверенностьДокументПередовСвПередПолнПередПолнИнПерПолнСвРукОПСведФЛУдЛичнФЛСрокДействияРасширеннаяПодсказка" id="1191"/>
</InputField> </InputField>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
@@ -2122,12 +2032,6 @@
<v8:content>Группа представитель</v8:content> <v8:content>Группа представитель</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представитель передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -2141,12 +2045,6 @@
<v8:content>Группа представитель физическое лицо</v8:content> <v8:content>Группа представитель физическое лицо</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представитель передоверия физическое лицо</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -2225,12 +2123,6 @@
<v8:content>Группа представитель физическое лицо ИНН и СНИЛС</v8:content> <v8:content>Группа представитель физическое лицо ИНН и СНИЛС</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представитель передоверия физическое лицо ИНН и СНИЛС</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -2322,12 +2214,6 @@
<v8:content>Группа представитель физическое лицо срок выдачи</v8:content> <v8:content>Группа представитель физическое лицо срок выдачи</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представитель передоверия физическое лицо срок выдачи</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -2345,8 +2231,9 @@
<ContextMenu name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="825"/> <ContextMenu name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="825"/>
<ExtendedTooltip name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="826"/> <ExtendedTooltip name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="826"/>
</InputField> </InputField>
<InputField name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛexpDate" id="827"> <InputField name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛСрокДействия" id="827">
<DataPath>Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath> <DataPath>Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath>
<Visible>false</Visible>
<Title> <Title>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
@@ -2360,8 +2247,8 @@
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<HorizontalStretch>false</HorizontalStretch> <HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛexpDateКонтекстноеМеню" id="828"/> <ContextMenu name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛСрокДействияКонтекстноеМеню" id="828"/>
<ExtendedTooltip name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛexpDateРасширеннаяПодсказка" id="829"/> <ExtendedTooltip name="ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛСрокДействияРасширеннаяПодсказка" id="829"/>
</InputField> </InputField>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
@@ -2398,12 +2285,6 @@
<v8:content>Группа представитель организация</v8:content> <v8:content>Группа представитель организация</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представитель передоверия организация</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -2418,12 +2299,6 @@
<v8:content>Группа представитель организация ИНН и КПП</v8:content> <v8:content>Группа представитель организация ИНН и КПП</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представитель передоверия организация ИНН и КПП</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -2470,12 +2345,6 @@
<v8:content>Группа представитель индивидуальный предприниматель</v8:content> <v8:content>Группа представитель индивидуальный предприниматель</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представитель передоверия индивидуальный предприниматель</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -2521,12 +2390,6 @@
<v8:content>Группа представитель индивидуальный предприниматель ИНН и СНИЛС</v8:content> <v8:content>Группа представитель индивидуальный предприниматель ИНН и СНИЛС</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представитель передоверия индивидуальный предприниматель ИНН и СНИЛС</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -2623,12 +2486,6 @@
<v8:content>Группа представитель индивидуальный предприниматель срок документа</v8:content> <v8:content>Группа представитель индивидуальный предприниматель срок документа</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа представитель передоверия индивидуальный предприниматель срок документа</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -2646,8 +2503,9 @@
<ContextMenu name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="883"/> <ContextMenu name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛДатаДокКонтекстноеМеню" id="883"/>
<ExtendedTooltip name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="884"/> <ExtendedTooltip name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛДатаДокРасширеннаяПодсказка" id="884"/>
</InputField> </InputField>
<InputField name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛexpDate" id="885"> <InputField name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛСрокДействия" id="885">
<DataPath>Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath> <DataPath>Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0].expDate</DataPath>
<Visible>false</Visible>
<Title> <Title>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
@@ -2661,8 +2519,8 @@
</v8:item> </v8:item>
</ToolTip> </ToolTip>
<HorizontalStretch>false</HorizontalStretch> <HorizontalStretch>false</HorizontalStretch>
<ContextMenu name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛexpDateКонтекстноеМеню" id="886"/> <ContextMenu name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛСрокДействияКонтекстноеМеню" id="886"/>
<ExtendedTooltip name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛexpDateРасширеннаяПодсказка" id="887"/> <ExtendedTooltip name="ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛСрокДействияРасширеннаяПодсказка" id="887"/>
</InputField> </InputField>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
@@ -2703,12 +2561,6 @@
<v8:content>Группа несколько представителей передоверия</v8:content> <v8:content>Группа несколько представителей передоверия</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа несколько представителей передоверия</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -2842,12 +2694,6 @@
<v8:content>Группа заголовок группы полномочия</v8:content> <v8:content>Группа заголовок группы полномочия</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа заголовок группы полномочия передоверия</v8:content>
</v8:item>
</ToolTip>
<Width>110</Width> <Width>110</Width>
<HorizontalStretch>false</HorizontalStretch> <HorizontalStretch>false</HorizontalStretch>
<Group>AlwaysHorizontal</Group> <Group>AlwaysHorizontal</Group>
@@ -2915,12 +2761,6 @@
<v8:content>Группа типы полномочий передоверия</v8:content> <v8:content>Группа типы полномочий передоверия</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа типы полномочий передоверия</v8:content>
</v8:item>
</ToolTip>
<Width>110</Width> <Width>110</Width>
<HorizontalStretch>false</HorizontalStretch> <HorizontalStretch>false</HorizontalStretch>
<Group>Vertical</Group> <Group>Vertical</Group>
@@ -2936,12 +2776,6 @@
<v8:content>Группа текстовые полномочия передоверия</v8:content> <v8:content>Группа текстовые полномочия передоверия</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа текстовые полномочия передоверия</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -274,7 +274,6 @@
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ФизическоеЛицо #Область ФизическоеЛицо
@@ -483,8 +482,10 @@
ПоляУдостоверяющиеЛичностьФизическогоЛица ПоляУдостоверяющиеЛичностьФизическогоЛица
= Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0]; = Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -493,8 +494,10 @@
ПоляУдостоверяющиеЛичностьФизическогоЛица ПоляУдостоверяющиеЛичностьФизическогоЛица
= Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0]; = Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -503,8 +506,10 @@
ПоляУдостоверяющиеЛичностьФизическогоЛица ПоляУдостоверяющиеЛичностьФизическогоЛица
= Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0]; = Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведФизЛ[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -513,8 +518,10 @@
ПоляУдостоверяющиеЛичностьФизическогоЛица ПоляУдостоверяющиеЛичностьФизическогоЛица
= Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0]; = Доверенность[0].Документ[0].Передов[0].СвПолучПолн[0].Пред[0].СведИП[0].СведФЛ[0].УдЛичнФЛ[0];
МашиночитаемыеДоверенностиКлиент.СброситьОформлениеИОчистититьПоляДокументаУдостоверяющегоЛичность(Элемент, МашиночитаемыеДоверенностиКлиент.УстановитьОформлениеНастройкиОтображенияИЗначенияПолейДУЛФЛПоУмолчанию(
ПоляУдостоверяющиеЛичностьФизическогоЛица); Элемент.Родитель,
ПоляУдостоверяющиеЛичностьФизическогоЛица,
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛСрокДействия);
КонецПроцедуры КонецПроцедуры
@@ -1368,6 +1375,9 @@
ЗаполнитьТаблицуТипаСведФЛ(СведенияОФизЛице.СведФЛ[0], СтруктураСведений); ЗаполнитьТаблицуТипаСведФЛ(СведенияОФизЛице.СведФЛ[0], СтруктураСведений);
ПоказатьГруппу(Элементы.ГруппаПредставительПередоверия, Элементы.ГруппаПредставительПередоверия_ФизическоеЛицо); ПоказатьГруппу(Элементы.ГруппаПредставительПередоверия, Элементы.ГруппаПредставительПередоверия_ФизическоеЛицо);
СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставительПередоверия_ФизическоеЛицо, Истина); СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставительПередоверия_ФизическоеЛицо, Истина);
УстановитьВидимостьПоляСрокДействия(
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛСрокДействия,
СведенияОФизЛице.СведФЛ[0].УдЛичнФЛ[0].КодВидДок);
Иначе Иначе
СтруктураСведений = ОбщегоНазначенияБЭД.ДанныеЮрФизЛица(Представитель); СтруктураСведений = ОбщегоНазначенияБЭД.ДанныеЮрФизЛица(Представитель);
Если ИнтеграцияЭДО.ЭтоФизЛицо(Представитель) Тогда Если ИнтеграцияЭДО.ЭтоФизЛицо(Представитель) Тогда
@@ -1382,6 +1392,9 @@
ПоказатьГруппу(Элементы.ГруппаПредставительПередоверия, ПоказатьГруппу(Элементы.ГруппаПредставительПередоверия,
Элементы.ГруппаПредставительПередоверия_ИндивидуальныйПредприниматель); Элементы.ГруппаПредставительПередоверия_ИндивидуальныйПредприниматель);
СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставительПередоверия_ИндивидуальныйПредприниматель, Истина); СброситьОформлениеЭлементовФормы(Элементы.ГруппаПредставительПередоверия_ИндивидуальныйПредприниматель, Истина);
УстановитьВидимостьПоляСрокДействия(
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛСрокДействия,
СведенияОбИП.СведФЛ[0].УдЛичнФЛ[0].КодВидДок);
Иначе Иначе
СведенияОПредставителе[0].ТипПред = ТипыПредставителей.ЮридическоеЛицо; СведенияОПредставителе[0].ТипПред = ТипыПредставителей.ЮридическоеЛицо;
СведенияОЮрЛице = СведенияОПредставителе[0].Пред[0].СведОрг[0]; СведенияОЮрЛице = СведенияОПредставителе[0].Пред[0].СведОрг[0];
@@ -1426,20 +1439,7 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Процедура ЗаполнитьТаблицуТипаСведФЛ(СведФЛ, СтруктураСведений) Процедура ЗаполнитьТаблицуТипаСведФЛ(СведФЛ, СтруктураСведений)
СведФЛ.ФИО[0].Фамилия = СтруктураСведений.Фамилия; МашиночитаемыеДоверенности.ЗаполнитьТаблицуТипаСведФЛ(СведФЛ, СтруктураСведений);
СведФЛ.ФИО[0].Имя = СтруктураСведений.Имя;
СведФЛ.ФИО[0].Отчество = СтруктураСведений.Отчество;
СведФЛ.ДатаРожд = СтруктураСведений.ДатаРождения;
Ключи = "КемВыдан, ДатаВыдачи, КодФНС, КодПодразделения, Серия, Номер";
СведенияУдостоверения = Новый Структура(Ключи);
ЗаполнитьЗначенияСвойств(СведенияУдостоверения, СтруктураСведений);
СведФЛ.УдЛичнФЛ[0].ВыдДок = СведенияУдостоверения.КемВыдан;
СведФЛ.УдЛичнФЛ[0].ДатаДок = СведенияУдостоверения.ДатаВыдачи;
СведФЛ.УдЛичнФЛ[0].КодВидДок = СведенияУдостоверения.КодФНС;
СведФЛ.УдЛичнФЛ[0].КодВыдДок = СведенияУдостоверения.КодПодразделения;
СведФЛ.УдЛичнФЛ[0].СерНомДок = СтрШаблон("%1 %2", СведенияУдостоверения.Серия, СведенияУдостоверения.Номер);
СведФЛ.УдЛичнФЛ[0].expDate = СтруктураСведений.СрокДействия;
КонецПроцедуры КонецПроцедуры
@@ -1683,17 +1683,10 @@
&НаСервере &НаСервере
Процедура ЗаполнитьСписокВидовДокументовФизическогоЛица() Процедура ЗаполнитьСписокВидовДокументовФизическогоЛица()
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛКодВидДок.СписокВыбора.Очистить(); ЭлементыВыбораВидаДокумента = Новый Массив; // Массив Из ПолеФормы
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛКодВидДок.СписокВыбора.Очистить(); ЭлементыВыбораВидаДокумента.Добавить(Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛКодВидДок);
ЭлементыВыбораВидаДокумента.Добавить(Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛКодВидДок);
ВидыДокументов = МашиночитаемыеДоверенностиКлиентСервер.ВидыДокументовФизическихЛиц(); МашиночитаемыеДоверенности.УстановитьСписокВыбораДокументовФизическихЛиц(ЭлементыВыбораВидаДокумента);
Для Каждого ВидДокумента Из ВидыДокументов Цикл
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведФизЛСведФЛУдЛичнФЛКодВидДок.СписокВыбора
.Добавить(ВидДокумента.Ключ, ВидДокумента.Значение);
Элементы.ДоверенностьДокументПередовСвПолучПолнПредСведИПСведФЛУдЛичнФЛКодВидДок.СписокВыбора
.Добавить(ВидДокумента.Ключ, ВидДокумента.Значение);
КонецЦикла;
КонецПроцедуры КонецПроцедуры
@@ -4189,4 +4182,12 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьПоляСрокДействия(ПолеФормыСрокДействия, ЗначениеПоляКодВидДок)
МашиночитаемыеДоверенностиКлиентСервер.УстановитьВидимостьПоляСрокДействия(ПолеФормыСрокДействия,
ЗначениеПоляКодВидДок);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -10,10 +10,18 @@
<Customizable>false</Customizable> <Customizable>false</Customizable>
<CommandSet> <CommandSet>
<ExcludedCommand>Copy</ExcludedCommand> <ExcludedCommand>Copy</ExcludedCommand>
<ExcludedCommand>Delete</ExcludedCommand>
<ExcludedCommand>SetDeletionMark</ExcludedCommand>
</CommandSet> </CommandSet>
<UseForFoldersAndItems>Items</UseForFoldersAndItems> <UseForFoldersAndItems>Items</UseForFoldersAndItems>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> <AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems> <ChildItems>
<Button name="ФормаУстановитьСнятьПометкуУдаления" id="455">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.УстановитьСнятьПометкуУдаления</CommandName>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаУстановитьСнятьПометкуУдаленияРасширеннаяПодсказка" id="456"/>
</Button>
<ButtonGroup name="ФормаГруппаДополнительныеДействия" id="118"> <ButtonGroup name="ФормаГруппаДополнительныеДействия" id="118">
<ExtendedTooltip name="ФормаГруппаДополнительныеДействияРасширеннаяПодсказка" id="119"/> <ExtendedTooltip name="ФормаГруппаДополнительныеДействияРасширеннаяПодсказка" id="119"/>
<ChildItems> <ChildItems>
@@ -510,9 +518,9 @@
<ExcludedCommand>MoveUp</ExcludedCommand> <ExcludedCommand>MoveUp</ExcludedCommand>
</CommandSet> </CommandSet>
<SearchStringLocation>CommandBar</SearchStringLocation> <SearchStringLocation>CommandBar</SearchStringLocation>
<ContextMenu name="ДеревоПолномочийСОграничениямиКонтекстноеМеню" id="455"/> <ContextMenu name="ДеревоПолномочийСОграничениямиКонтекстноеМеню" id="493"/>
<AutoCommandBar name="ДеревоПолномочийСОграничениямиКоманднаяПанель" id="454"/> <AutoCommandBar name="ДеревоПолномочийСОграничениямиКоманднаяПанель" id="454"/>
<ExtendedTooltip name="ДеревоПолномочийСОграничениямиРасширеннаяПодсказка" id="456"/> <ExtendedTooltip name="ДеревоПолномочийСОграничениямиРасширеннаяПодсказка" id="494"/>
<SearchStringAddition name="ДеревоПолномочийСОграничениямиСтрокаПоиска" id="457"> <SearchStringAddition name="ДеревоПолномочийСОграничениямиСтрокаПоиска" id="457">
<AdditionSource> <AdditionSource>
<Item>ДеревоПолномочийСОграничениями</Item> <Item>ДеревоПолномочийСОграничениями</Item>
@@ -1687,7 +1695,7 @@
<Action>ОбновитьСписокПодписанныеДокументы</Action> <Action>ОбновитьСписокПодписанныеДокументы</Action>
<Representation>TextPicture</Representation> <Representation>TextPicture</Representation>
</Command> </Command>
<Command name="ПерепроверитьПодпись" id="12"> <Command name="ПерепроверитьПодпись" id="13">
<Title> <Title>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
@@ -1696,5 +1704,19 @@
</Title> </Title>
<Action>ПерепроверитьПодпись</Action> <Action>ПерепроверитьПодпись</Action>
</Command> </Command>
<Command name="УстановитьСнятьПометкуУдаления" id="12">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пометить на удаление / Снять пометку</v8:content>
</v8:item>
</Title>
<Picture>
<xr:Ref>StdPicture.MarkToDelete</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>УстановитьСнятьПометкуУдаления</Action>
<Representation>TextPicture</Representation>
</Command>
</Commands> </Commands>
</Form> </Form>
@@ -136,7 +136,7 @@
ПараметрыОшибкиКриптографии.Вставить("ДанныеПодписи", ДанныеПодписи); ПараметрыОшибкиКриптографии.Вставить("ДанныеПодписи", ДанныеПодписи);
ПараметрыОшибкиКриптографии.Вставить("ДанныеСертификата", ДанныеСертификатаПодписи); ПараметрыОшибкиКриптографии.Вставить("ДанныеСертификата", ДанныеСертификатаПодписи);
ПараметрыОшибкиКриптографии.Вставить("Сертификат", СертификатПодписи); ПараметрыОшибкиКриптографии.Вставить("Сертификат", СертификатПодписи);
КриптографияБЭДСлужебныйКлиент.ОткрытьФормуРасширенногоПредставленияОшибки(Неопределено, ПараметрыОшибкиКриптографии); КриптографияБЭДКлиент.ОткрытьФормуРасширенногоПредставленияОшибки(Неопределено, ПараметрыОшибкиКриптографии);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -363,6 +363,16 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура УстановитьСнятьПометкуУдаления(Команда)
ТекстВопроса = МашиночитаемыеДоверенностиКлиент.ПолучитьТекстВопросаУстановитьСнятьПометкуУдаления(Объект);
ОписаниеОповещения = Новый ОписаниеОповещения("УстановитьСнятьПометкуУдаленияПродолжение", ЭтотОбъект, УникальныйИдентификатор);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -516,7 +526,7 @@
Процедура УправлениеФормой() Процедура УправлениеФормой()
Элементы.ФормаОбновить.Видимость = ЗначениеЗаполнено(Объект.СтатусВРеестреФНС); Элементы.ФормаОбновить.Видимость = ЗначениеЗаполнено(Объект.СтатусВРеестреФНС);
Элементы.ФормаПометитьОтозванной.Видимость = Не ЗначениеЗаполнено(Объект.СтатусВРеестреФНС); Элементы.ФормаПометитьОтозванной.Видимость = Не ЗначениеЗаполнено(Объект.СтатусВРеестреФНС) И ЕстьПравоИзмененияМЧД;
Элементы.ФормаПерепроверитьПодпись.Видимость = ЕстьПравоИзмененияМЧД; Элементы.ФормаПерепроверитьПодпись.Видимость = ЕстьПравоИзмененияМЧД;
Если Объект.Отозвана Тогда Если Объект.Отозвана Тогда
@@ -760,4 +770,25 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура УстановитьСнятьПометкуУдаленияПродолжение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
УстановитьСнятьПометкуУдаленияНаСервере(Объект.Ссылка, ДополнительныеПараметры);
МашиночитаемыеДоверенностиКлиент.ОповеститьОбИзмененииПометкиУдаленияМЧД(
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Объект.Ссылка));
Прочитать();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура УстановитьСнятьПометкуУдаленияНаСервере(Знач Ссылка, Знач УникальныйИдентификатор)
МашиночитаемыеДоверенности.УстановитьСнятьПометкуУдаления(Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -16,7 +16,8 @@
|Подписана, Верна, Отозвана, ДатаОтзыва, ДатаОтправкиЗаявленияНаОтзыв, ВариантЗаполненияПолномочий, |Подписана, Верна, Отозвана, ДатаОтзыва, ДатаОтправкиЗаявленияНаОтзыв, ВариантЗаполненияПолномочий,
|СовместныеПолномочия, НесколькоПредставителей, |СовместныеПолномочия, НесколькоПредставителей,
|ИННДоверителяРодительскойДоверенности, НомерДоверенности, НомерРодительскойДоверенности, Представители, |ИННДоверителяРодительскойДоверенности, НомерДоверенности, НомерРодительскойДоверенности, Представители,
|ЭлектроннаяПодпись, XMLфайлМЧД, ИмяФайлаЗаявленияНаОтзыв, ФайлЗаявленияНаОтзыв, ЭлектроннаяПодписьЗаявленияНаОтзыв"; |ЭлектроннаяПодпись, XMLфайлМЧД, ИмяФайлаЗаявленияНаОтзыв, ФайлЗаявленияНаОтзыв,
|ЭлектроннаяПодписьЗаявленияНаОтзыв, ПометкаУдаления";
РеквизитыМЧД = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(МЧД, Реквизиты); РеквизитыМЧД = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(МЧД, Реквизиты);
СведенияМЧД = МашиночитаемыеДоверенности.НовыеСведенияМЧД(); СведенияМЧД = МашиночитаемыеДоверенности.НовыеСведенияМЧД();
СведенияМЧД.Ссылка = МЧД; СведенияМЧД.Ссылка = МЧД;
@@ -24,7 +25,8 @@
ЗаполнитьЗначенияСвойств(СведенияМЧД, РеквизитыМЧД, ЗаполнитьЗначенияСвойств(СведенияМЧД, РеквизитыМЧД,
"ДатаВыдачи, ДатаОкончания, СтатусВРеестреФНС, Подписана, Верна, Отозвана, "ДатаВыдачи, ДатаОкончания, СтатусВРеестреФНС, Подписана, Верна, Отозвана,
|ДатаОтзыва, ДатаОтправкиЗаявленияНаОтзыв, СовместныеПолномочия, НесколькоПредставителей, |ДатаОтзыва, ДатаОтправкиЗаявленияНаОтзыв, СовместныеПолномочия, НесколькоПредставителей,
|ИННДоверителяРодительскойДоверенности, НомерДоверенности, НомерРодительскойДоверенности, ИмяФайлаЗаявленияНаОтзыв"); |ИННДоверителяРодительскойДоверенности, НомерДоверенности, НомерРодительскойДоверенности,
|ИмяФайлаЗаявленияНаОтзыв, ПометкаУдаления");
СведенияМЧД.ПолномочияОграничены = Не МашиночитаемыеДоверенности.ЭтоМЧДСПолнымиПолномочиями(МЧД); СведенияМЧД.ПолномочияОграничены = Не МашиночитаемыеДоверенности.ЭтоМЧДСПолнымиПолномочиями(МЧД);
СведенияМЧД.ДатаПолученияСведений = РеквизитыМЧД.ДатаОбновленияСтатуса; СведенияМЧД.ДатаПолученияСведений = РеквизитыМЧД.ДатаОбновленияСтатуса;
СведенияМЧД.ПолномочияУказаныИзКлассификатора = МашиночитаемыеДоверенности.ПолномочияМЧДУказаныИзКлассификатора( , СведенияМЧД.ПолномочияУказаныИзКлассификатора = МашиночитаемыеДоверенности.ПолномочияМЧДУказаныИзКлассификатора( ,
@@ -13,11 +13,19 @@
<VerticalScroll>useIfNecessary</VerticalScroll> <VerticalScroll>useIfNecessary</VerticalScroll>
<CommandSet> <CommandSet>
<ExcludedCommand>Copy</ExcludedCommand> <ExcludedCommand>Copy</ExcludedCommand>
<ExcludedCommand>Delete</ExcludedCommand>
<ExcludedCommand>Reread</ExcludedCommand> <ExcludedCommand>Reread</ExcludedCommand>
<ExcludedCommand>SetDeletionMark</ExcludedCommand>
</CommandSet> </CommandSet>
<UseForFoldersAndItems>Items</UseForFoldersAndItems> <UseForFoldersAndItems>Items</UseForFoldersAndItems>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> <AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems> <ChildItems>
<Button name="ФормаУстановитьСнятьПометкуУдаления" id="380">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.УстановитьСнятьПометкуУдаления</CommandName>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ФормаУстановитьСнятьПометкуУдаленияРасширеннаяПодсказка" id="381"/>
</Button>
<Button name="ФормаПеречитатьНаКлиенте" id="343"> <Button name="ФормаПеречитатьНаКлиенте" id="343">
<Type>CommandBarButton</Type> <Type>CommandBarButton</Type>
<CommandName>Form.Command.ПеречитатьНаКлиенте</CommandName> <CommandName>Form.Command.ПеречитатьНаКлиенте</CommandName>
@@ -815,7 +823,7 @@
<xr:Ref>CommonPicture.ПорядокБЭД</xr:Ref> <xr:Ref>CommonPicture.ПорядокБЭД</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent> <xr:LoadTransparent>false</xr:LoadTransparent>
</HeaderPicture> </HeaderPicture>
<ContextMenu name="ПодписанныеДокументыНаправлениеОбменаКартинкаКонтекстноеМеню" id="381"/> <ContextMenu name="ПодписанныеДокументыНаправлениеОбменаКартинкаКонтекстноеМеню" id="430"/>
<ExtendedTooltip name="ПодписанныеДокументыНаправлениеОбменаКартинкаРасширеннаяПодсказка" id="382"/> <ExtendedTooltip name="ПодписанныеДокументыНаправлениеОбменаКартинкаРасширеннаяПодсказка" id="382"/>
</PictureField> </PictureField>
<InputField name="ПодписанныеДокументыСсылка" id="56"> <InputField name="ПодписанныеДокументыСсылка" id="56">
@@ -898,7 +906,7 @@
<ContextMenu name="ПодписанныеДокументыПодписьВернаКартинкаКонтекстноеМеню" id="383"/> <ContextMenu name="ПодписанныеДокументыПодписьВернаКартинкаКонтекстноеМеню" id="383"/>
<ExtendedTooltip name="ПодписанныеДокументыПодписьВернаКартинкаРасширеннаяПодсказка" id="384"/> <ExtendedTooltip name="ПодписанныеДокументыПодписьВернаКартинкаРасширеннаяПодсказка" id="384"/>
</PictureField> </PictureField>
<CheckBoxField name="ПодписанныеДокументыПроверкаВыполненаВРучную" id="380"> <CheckBoxField name="ПодписанныеДокументыПроверкаВыполненаВРучную" id="429">
<DataPath>ПодписанныеДокументы.ПроверкаВыполненаВРучную</DataPath> <DataPath>ПодписанныеДокументы.ПроверкаВыполненаВРучную</DataPath>
<Title> <Title>
<v8:item> <v8:item>
@@ -1992,7 +2000,7 @@
</Picture> </Picture>
<Action>ПроверитьПодписи</Action> <Action>ПроверитьПодписи</Action>
</Command> </Command>
<Command name="ОбновитьСписокПодписанныеДокументы" id="20"> <Command name="ОбновитьСписокПодписанныеДокументы" id="23">
<Title> <Title>
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
@@ -2042,5 +2050,19 @@
<Item>FunctionalOption.ИспользоватьИнтеграциюЦентраЭДО</Item> <Item>FunctionalOption.ИспользоватьИнтеграциюЦентраЭДО</Item>
</FunctionalOptions> </FunctionalOptions>
</Command> </Command>
<Command name="УстановитьСнятьПометкуУдаления" id="20">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пометить на удаление / Снять пометку</v8:content>
</v8:item>
</Title>
<Picture>
<xr:Ref>StdPicture.MarkToDelete</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>УстановитьСнятьПометкуУдаления</Action>
<Representation>TextPicture</Representation>
</Command>
</Commands> </Commands>
</Form> </Form>
@@ -552,6 +552,16 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура УстановитьСнятьПометкуУдаления(Команда)
ТекстВопроса = МашиночитаемыеДоверенностиКлиент.ПолучитьТекстВопросаУстановитьСнятьПометкуУдаления(Объект);
ОписаниеОповещения = Новый ОписаниеОповещения("УстановитьСнятьПометкуУдаленияПродолжение", ЭтотОбъект, УникальныйИдентификатор);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -577,7 +587,8 @@
Элементы.ФормаОтозвать.Видимость = Элементы.ФормаОтозвать.Видимость =
Объект.ДатаОкончания > ОбщегоНазначенияКлиент.ДатаСеанса() Объект.ДатаОкончания > ОбщегоНазначенияКлиент.ДатаСеанса()
И Объект.СтатусВРеестреФНС <> ПредопределенноеЗначение("Перечисление.СтатусыМашиночитаемойДоверенностиВРеестреФНС.Отозвано"); И Объект.СтатусВРеестреФНС <> ПредопределенноеЗначение("Перечисление.СтатусыМашиночитаемойДоверенностиВРеестреФНС.Отозвано")
И ЕстьПравоИзмененияМЧД;
Элементы.ФормаОбновитьСтатусИзРеестраФНС.Видимость = ЗначениеЗаполнено(Объект.СтатусВРеестреФНС); Элементы.ФормаОбновитьСтатусИзРеестраФНС.Видимость = ЗначениеЗаполнено(Объект.СтатусВРеестреФНС);
Элементы.ФормаПерепроверитьПодпись.Видимость = ЕстьПравоИзмененияМЧД; Элементы.ФормаПерепроверитьПодпись.Видимость = ЕстьПравоИзмененияМЧД;
@@ -1105,4 +1116,25 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура УстановитьСнятьПометкуУдаленияПродолжение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
УстановитьСнятьПометкуУдаленияНаСервере(Объект.Ссылка, ДополнительныеПараметры);
МашиночитаемыеДоверенностиКлиент.ОповеститьОбИзмененииПометкиУдаленияМЧД(
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Объект.Ссылка));
Прочитать();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура УстановитьСнятьПометкуУдаленияНаСервере(Знач Ссылка, Знач УникальныйИдентификатор)
МашиночитаемыеДоверенности.УстановитьСнятьПометкуУдаления(Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -571,6 +571,7 @@
Поля.Добавить("Заказ"); Поля.Добавить("Заказ");
Поля.Добавить("Договор"); Поля.Добавить("Договор");
Поля.Добавить("Партнер"); Поля.Добавить("Партнер");
Поля.Добавить("НаправлениеДеятельности");
Поля.Добавить("ТипНазначения"); Поля.Добавить("ТипНазначения");
КонецПроцедуры КонецПроцедуры
@@ -586,19 +587,22 @@
ЭтоОсновнойЯзык = Ложь; ЭтоОсновнойЯзык = Ложь;
#Если Клиент Тогда #Если Клиент Тогда
ЭтоОсновнойЯзык = ОбщегоНазначенияУТКлиентПовтИсп.ЭтоОсновнойЯзык(); ЭтоОсновнойЯзык = ОбщегоНазначенияУТКлиентПовтИсп.ЭтоОсновнойЯзык();
КодОсновногоЯзыка = ОбщегоНазначенияКлиент.КодОсновногоЯзыка();
#Иначе #Иначе
ЭтоОсновнойЯзык = ОбщегоНазначенияУТПовтИсп.ЭтоОсновнойЯзык(); ЭтоОсновнойЯзык = ОбщегоНазначенияУТПовтИсп.ЭтоОсновнойЯзык();
КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
#КонецЕсли #КонецЕсли
Если Не ЭтоОсновнойЯзык Тогда Если Не ЭтоОсновнойЯзык Тогда
ПредставлениеТипаНаОсновномЯзыке = НазначенияКлиентСервер.ПредставлениеТипаНазначения(Данные, КодОсновногоЯзыка);
ПредставлениеТипаНаОсновномЯзыке = "(" + ПредставлениеТипаНаОсновномЯзыке + ")";
ПредставлениеТипа = НазначенияКлиентСервер.ПредставлениеТипаНазначения(Данные, ""); ПредставлениеТипа = НазначенияКлиентСервер.ПредставлениеТипаНазначения(Данные, "");
ПредставлениеТипа = "(" + ПредставлениеТипа + ")";
Если ПредставлениеТипа <> Неопределено Тогда Если ПредставлениеТипа <> Неопределено Тогда
Представление = СтрЗаменить(Представление, ПредставлениеТипаНаОсновномЯзыке, ПредставлениеТипа);
ПозицияОткрывающейСкобки = СтрНайти(Представление, "(", НаправлениеПоиска.СКонца);
ОбрезанноеПредставление = Лев(Представление, ПозицияОткрывающейСкобки);
Представление = ОбрезанноеПредставление + ПредставлениеТипа + ")";
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -2258,7 +2258,6 @@
Процедура ОтобразитьСекретныеДанные(Элемент, ИмяРеквизита) Процедура ОтобразитьСекретныеДанные(Элемент, ИмяРеквизита)
Элемент.РежимПароля = Не Элемент.РежимПароля; Элемент.РежимПароля = Не Элемент.РежимПароля;
ЭтотОбъект[ИмяРеквизита] = Элемент.ТекстРедактирования;
Если Элемент.РежимПароля Тогда Если Элемент.РежимПароля Тогда
Элемент.КартинкаКнопкиВыбора = БиблиотекаКартинок.ВводимыеСимволыВидны; Элемент.КартинкаКнопкиВыбора = БиблиотекаКартинок.ВводимыеСимволыВидны;
Иначе Иначе
@@ -2360,109 +2359,6 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ПроверитьСертификатЦиклПослеСозданияМенеджераКриптографии(Результат, Контекст) Экспорт
Если ТипЗнч(Результат) <> Тип("МенеджерКриптографии") Тогда
Контекст.ОшибкаНаКлиенте.Ошибки.Добавить(Результат);
ПроверитьСертификатЦиклНачало(Контекст);
Возврат;
КонецЕсли;
Контекст.Вставить("МенеджерКриптографии", Результат);
Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = ПарольСертификата;
Оповещение = Новый ОписаниеОповещения("ПроверитьСертификатЦиклПослеПодписания", ЭтотОбъект, Контекст,
"ПроверитьСертификатЦиклПослеОшибкиПодписания", ЭтотОбъект);
Контекст.МенеджерКриптографии.НачатьПодписывание(
Оповещение, Контекст.ДвоичныеДанныеСертификата, Контекст.СертификатКриптографии);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьСертификатЦиклПослеПодписания(ДанныеПодписи, Контекст) Экспорт
ПредставлениеОшибки = "";
Попытка
ПустыеДанныеПодписи(ДанныеПодписи, ПредставлениеОшибки);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПредставлениеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
КонецПопытки;
Если ЗначениеЗаполнено(ПредставлениеОшибки) Тогда
ЗаполнитьОшибкуПодписания(Контекст.ОшибкаНаКлиенте, Контекст.ОписаниеОшибки, Контекст.ОписаниеПрограммы,
ПредставлениеОшибки, ИнформацияОбОшибке = Неопределено);
ПроверитьСертификатЦиклНачало(Контекст);
Возврат;
КонецЕсли;
Результат = Новый Структура("Программа", Контекст.ОписаниеПрограммы.Ссылка);
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Результат);
КонецПроцедуры
&НаКлиенте
Функция ПустыеДанныеПодписи(ДанныеПодписи, ОписаниеОшибки)
Если Не ЗначениеЗаполнено(ДанныеПодписи) Тогда
ОписаниеОшибки = НСтр("ru = 'Сформирована пустая подпись.'");
Возврат Истина;
КонецЕсли;
Возврат Ложь;
КонецФункции
&НаКлиенте
Процедура ПроверитьСертификатЦиклПослеОшибкиПодписания(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
СтандартнаяОбработка = Ложь;
ЗаполнитьОшибкуПодписания(Контекст.ОшибкаНаКлиенте, Контекст.ОписаниеОшибки, Контекст.ОписаниеПрограммы,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке), Ложь);
ПроверитьСертификатЦиклНачало(Контекст);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьСертификатЦиклНачало(Контекст)
Если Контекст.ОписанияПрограмм.Количество() <= Контекст.Индекс + 1 Тогда
ВыполнитьОбработкуОповещения(Контекст.Оповещение);
Возврат;
КонецЕсли;
Контекст.Индекс = Контекст.Индекс + 1;
Контекст.Вставить("ОписаниеПрограммы", Контекст.ОписанияПрограмм[Контекст.Индекс]);
Оповещение = Новый ОписаниеОповещения(
"ПроверитьСертификатЦиклПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст);
ЭлектроннаяПодписьКлиент.СоздатьМенеджерКриптографии(Оповещение, "", Ложь, Контекст.ОписаниеПрограммы.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьСертификатПослеИнициализацииСертификата(СертификатКриптографии, Контекст) Экспорт
Контекст.Вставить("СертификатКриптографии", СертификатКриптографии);
Контекст.Вставить("ОписаниеОшибки", "");
Контекст.Вставить("ОшибкаНаКлиенте", Новый Структура);
Контекст.ОшибкаНаКлиенте.Вставить("ОписаниеОшибки", "");
Контекст.ОшибкаНаКлиенте.Вставить("Ошибки", Новый Массив);
Контекст.Вставить("ОписанияПрограмм",
СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ЭлектроннаяПодпись.ОбщиеНастройки.ОписанияПрограмм);
Контекст.Вставить("Индекс", -1);
ПроверитьСертификатЦиклНачало(Контекст);
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПроверитьОчереднуюПрограммуКриптографии(МассивПрограмм, ПрограммыКриптографии, Оповещение, МассивПрограммДляСоздания) Процедура ПроверитьОчереднуюПрограммуКриптографии(МассивПрограмм, ПрограммыКриптографии, Оповещение, МассивПрограммДляСоздания)
@@ -2544,41 +2440,6 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ПодобратьПрограммуКриптографииДляСертификата(Оповещение, ДвоичныеДанныеСертификата)
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ДвоичныеДанныеСертификата", ДвоичныеДанныеСертификата);
ДополнительныеПараметры.Вставить("Оповещение", Оповещение);
СертификатКриптографии = Новый СертификатКриптографии;
Оповещение = Новый ОписаниеОповещения(
"ПроверитьСертификатПослеИнициализацииСертификата", ЭтотОбъект, ДополнительныеПараметры);
СертификатКриптографии.НачатьИнициализацию(Оповещение, ДвоичныеДанныеСертификата);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ЗаполнитьОшибкуПодписания(Ошибка, ОписаниеОшибки, ОписаниеПрограммы, ПредставлениеОшибки, ПустыеДанные)
ТекущаяОшибка = Новый Структура;
ТекущаяОшибка.Вставить("Описание", ПредставлениеОшибки);
Если Не ПустыеДанные Тогда
ТекущаяОшибка.Вставить("НастройкаПрограмм", Истина);
ТекущаяОшибка.Вставить("Инструкция", Истина);
КонецЕсли;
Ошибка.Ошибки.Добавить(ТекущаяОшибка);
ОписаниеОшибки = ОписаниеОшибки + Символы.ПС + Символы.ПС + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось пройти проверку подписания с помощью программы %1 по причине:
|%2'"),
ОписаниеПрограммы.Представление,
ПредставлениеОшибки);
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ЗаполнитьПрограммыКриптографии(Оповещение) Процедура ЗаполнитьПрограммыКриптографии(Оповещение)
@@ -3107,30 +2968,29 @@
КонецФункции КонецФункции
&НаКлиенте &НаКлиенте
Процедура ПодобратьПрограммуКриптографииПослеПолученияДвоичныхДанныхСертификата( Процедура ЗаписатьСертификатВСправочник(ВыгруженныеДанные, ДополнительныеПараметры) Экспорт
ВыгруженныеДанные,
ДополнительныеПараметры) Экспорт
ПараметрыОбработки = Новый Структура; ПараметрыОбработки = Новый Структура;
ПараметрыОбработки.Вставить("ДанныеСертификата", ВыгруженныеДанные); ПараметрыОбработки.Вставить("ДанныеСертификата", ВыгруженныеДанные);
Оповещение = Новый ОписаниеОповещения( ОбработчикЗавершения = Новый ОписаниеОповещения("ПослеЗаписиСертификатаВСправочник", ЭтотОбъект, ПараметрыОбработки);
"СохранитьСертификатВИнформационнойБазеПослеОпределенияПрограммыКриптографии", ЭтотОбъект, ПараметрыОбработки);
ПодобратьПрограммуКриптографииДляСертификата(Оповещение, ВыгруженныеДанные); ПараметрыЗаписиСертификата = ЭлектроннаяПодписьКлиент.ПараметрыЗаписиСертификата();
ПредставлениеСертификата = ЭлектроннаяПодписьКлиент.ПредставлениеСертификата(
ДополнительныеПараметры.СертификатКриптографии);
ПараметрыЗаписиСертификата.Наименование = ПредставлениеСертификата;
ПараметрыЗаписиСертификата.Организация = Организация;
ЭлектроннаяПодписьКлиент.ЗаписатьСертификатВСправочник(ОбработчикЗавершения, ВыгруженныеДанные, ПарольСертификата,
Ложь, ПараметрыЗаписиСертификата);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура СохранитьСертификатВИнформационнойБазеПослеОпределенияПрограммыКриптографии( Процедура ПослеЗаписиСертификатаВСправочник(Результат, ДополнительныеПараметры) Экспорт
Результат,
ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда // не удалось подобрать программу криптографии Если Результат = Неопределено Тогда // не удалось подобрать программу криптографии
Если СоздаватьЭлектронныеПодписиНаСервере Тогда Если СоздаватьЭлектронныеПодписиНаСервере Тогда
ПопыткаСозданияСертификатаНаСервере() ПопыткаСозданияСертификатаНаСервере()
Иначе Иначе
ТекстСообщения = НСтр("ru = 'Не удалось найти подходящую программу криптографии для указанного сертификата.'");
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения);
Если СпособСозданияНастройки = 0 Тогда // автоматическое получение с сервера банка Если СпособСозданияНастройки = 0 Тогда // автоматическое получение с сервера банка
ОбработатьРезультатПолученияНастроекССервераБанка(Ложь); ОбработатьРезультатПолученияНастроекССервераБанка(Ложь);
Иначе // ручное создание настройки обмена, переключаем на предыдущий шаг Иначе // ручное создание настройки обмена, переключаем на предыдущий шаг
@@ -3138,8 +2998,7 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Иначе Иначе
СертификатАутентификацииСсылка = НайтиСоздатьСертификатЭП( СертификатАутентификацииСсылка = Результат;
ДополнительныеПараметры.ДанныеСертификата, Организация, Результат.Программа);
Если Не ЗначениеЗаполнено(СертификатАутентификацииСсылка) Тогда Если Не ЗначениеЗаполнено(СертификатАутентификацииСсылка) Тогда
Если СпособСозданияНастройки = 0 Тогда // автоматическое получение с сервера банка Если СпособСозданияНастройки = 0 Тогда // автоматическое получение с сервера банка
ОбработатьРезультатПолученияНастроекССервераБанка(Ложь); ОбработатьРезультатПолученияНастроекССервераБанка(Ложь);
@@ -3154,13 +3013,6 @@
КонецПроцедуры КонецПроцедуры
&НаСервереБезКонтекста
Функция НайтиСоздатьСертификатЭП(ДанныеСертификата, Организация, ИнформацияОПрограммеКриптографии)
Возврат КриптографияБЭД.НайтиСоздатьСертификатЭП(ДанныеСертификата, Организация, ИнформацияОПрограммеКриптографии);
КонецФункции
&НаКлиенте &НаКлиенте
Процедура ВыгрузитьДанныеСертификатаПослеПолучения(СертификатКриптографии, ДополнительныеПараметры) Экспорт Процедура ВыгрузитьДанныеСертификатаПослеПолучения(СертификатКриптографии, ДополнительныеПараметры) Экспорт
@@ -3177,8 +3029,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Оповещение = Новый ОписаниеОповещения( ПараметрыВыгрузки = Новый Структура;
"ПодобратьПрограммуКриптографииПослеПолученияДвоичныхДанныхСертификата", ЭтотОбъект); ПараметрыВыгрузки.Вставить("СертификатКриптографии", СертификатКриптографии);
Оповещение = Новый ОписаниеОповещения("ЗаписатьСертификатВСправочник", ЭтотОбъект, ПараметрыВыгрузки);
СертификатКриптографии.НачатьВыгрузку(Оповещение); СертификатКриптографии.НачатьВыгрузку(Оповещение);
@@ -6018,80 +5871,20 @@
Попытка Попытка
ЭД = ОбменСБанкамиСлужебный.XDTOДанныеФайлаНастроек(АдресФайла); ЭД = ОбменСБанкамиСлужебный.XDTOДанныеФайлаНастроек(АдресФайла);
Исключение Исключение
ОбщегоНазначения.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); ОбщегоНазначения.СообщитьПользователю(ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат Неопределено;
КонецПопытки;
Попытка
СсылкаНаОрганизацию = ОбменСБанкамиСлужебный.ОпределитьОрганизациюНастройкиОбмена(ЭД, Организация);
Исключение
ТекстСообщения = ОбработкаОшибок.ПредставлениеОшибкиДляПользователя(ИнформацияОбОшибке());
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
Возврат Неопределено; Возврат Неопределено;
КонецПопытки; КонецПопытки;
ЭтоНастройкиСбербанка = ЭД.Свойства().Получить("Data") = Неопределено; ЭтоНастройкиСбербанка = ЭД.Свойства().Получить("Data") = Неопределено;
ИННОрганизацииФайла = ?(ЭтоНастройкиСбербанка, ЗначениеСвойстваXDTO(ЭД, "Customer.INN"),
ЗначениеСвойстваXDTO(ЭД, "Recipient.inn"));
ИННОрганизацииБазы = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Организация,
ОбменСБанкамиСлужебный.ИмяПрикладногоРеквизита("ИННОрганизации"));
Если ИННОрганизацииБазы = ИННОрганизацииФайла Тогда
СсылкаНаОрганизацию = Организация;
Иначе
СтруктураПоискаОрганизации = Новый Структура;
Если ЗначениеЗаполнено(ИННОрганизацииФайла) Тогда
СтруктураПоискаОрганизации.Вставить("ИНН", ИННОрганизацииФайла);
КонецЕсли;
КППОрганизации = ?(ЭтоНастройкиСбербанка, ЗначениеСвойстваXDTO(ЭД, "Customer.KPP"),
ЗначениеСвойстваXDTO(ЭД, "Recipient.kpp"));
Если КППОрганизации = "000000000" Тогда // Для Сбербанка
КППОрганизации = "0";
КонецЕсли;
Если ЗначениеЗаполнено(КППОрганизации) Тогда
СтруктураПоискаОрганизации.Вставить("КПП", КППОрганизации);
КонецЕсли;
НаименованиеОрганизации = ?(ЭтоНастройкиСбербанка, ЗначениеСвойстваXDTO(ЭД, "Customer.Name"),
ЗначениеСвойстваXDTO(ЭД, "Recipient.name"));
Если ЗначениеЗаполнено(НаименованиеОрганизации) Тогда
СтруктураПоискаОрганизации.Вставить("Наименование", НаименованиеОрганизации);
КонецЕсли;
Если СтруктураПоискаОрганизации.Количество() > 0 Тогда
СсылкаНаОрганизацию = ОбщегоНазначенияБЭД.НайтиСсылку("Организации", , СтруктураПоискаОрганизации);
ИначеЕсли НЕ ЗначениеЗаполнено(Организация) Тогда
ТекстСообщения = НСтр("ru = 'В файле настроек нет информации об организации.
|Обратитесь в свой банк.'");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
Возврат Неопределено;
Иначе
СсылкаНаОрганизацию = Организация;
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(СсылкаНаОрганизацию) Тогда
ТекстСообщения = НСтр("ru = 'Файл содержит настройки для неизвестной организации: %1%2%3'");
Если СтруктураПоискаОрганизации.Свойство("ИНН") Тогда
ТекстИНН = Символы.ПС + НСтр("ru = 'ИНН: %1'");
ТекстИНН = СтрШаблон(ТекстИНН, СтруктураПоискаОрганизации.ИНН);
Иначе
ТекстИНН = "";
КонецЕсли;
Если СтруктураПоискаОрганизации.Свойство("КПП") Тогда
ТекстКПП = Символы.ПС + НСтр("ru = 'КПП: %1'");
ТекстКПП = СтрШаблон(ТекстКПП, СтруктураПоискаОрганизации.КПП);
Иначе
ТекстКПП = "";
КонецЕсли;
Если СтруктураПоискаОрганизации.Свойство("Наименование") Тогда
ТекстНаименование = Символы.ПС + НСтр("ru = 'Наименование: %1'");
ТекстНаименование = СтрШаблон(
ТекстНаименование, СтруктураПоискаОрганизации.Наименование);
Иначе
ТекстНаименование = "";
КонецЕсли;
ТекстСообщения = СтрШаблон(
ТекстСообщения, ТекстИНН, ТекстКПП, ТекстНаименование);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
Возврат Неопределено;
КонецЕсли;
НаименованиеБанка = ""; НаименованиеБанка = "";
СтруктураПоискаБанка = Новый Структура; СтруктураПоискаБанка = Новый Структура;
БИК = ?(ЭтоНастройкиСбербанка, ЗначениеСвойстваXDTO(ЭД, "Bank.BIC"), ЗначениеСвойстваXDTO(ЭД, "Sender.bic")); БИК = ?(ЭтоНастройкиСбербанка, ЗначениеСвойстваXDTO(ЭД, "Bank.BIC"), ЗначениеСвойстваXDTO(ЭД, "Sender.bic"));
@@ -96,6 +96,23 @@
, ,
Отказ); Отказ);
Иначе
НайденныеКассы = Кассы.НайтиСтроки(Новый Структура("ПодключаемоеОборудование", СтрокаТЧ.ПодключаемоеОборудованиеККТ));
НайденныеКассыККМ = КассыККМ.НайтиСтроки(Новый Структура("ПодключаемоеОборудование", СтрокаТЧ.ПодключаемоеОборудованиеККТ));
Если НайденныеКассыККМ.Количество() = 0
И НайденныеКассы.Количество() = 0 Тогда
ТекстОшибки = НСтр("ru='Настройте кассу ККМ или кассу предприятия, связанную с ККТ эквайрингового терминала'");
АдресОшибки = НСтр("ru='в строке %НомерСтроки% списка ""Эквайринговые терминалы""'");
АдресОшибки = СтрЗаменить(АдресОшибки, "%НомерСтроки%", СтрокаТЧ.НомерСтроки);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ТекстОшибки + " " + АдресОшибки,
ЭтотОбъект,
ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти("ЭквайринговыеТерминалы", СтрокаТЧ.НомерСтроки, "ПодключаемоеОборудованиеККТ"),
,
Отказ);
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -318,6 +318,7 @@
</SearchControlAddition> </SearchControlAddition>
<Events> <Events>
<Event name="Selection">КассыККМВыбор</Event> <Event name="Selection">КассыККМВыбор</Event>
<Event name="BeforeDeleteRow">КассыККМПередУдалением</Event>
</Events> </Events>
<ChildItems> <ChildItems>
<LabelField name="КассыККМНомерСтроки" id="113"> <LabelField name="КассыККМНомерСтроки" id="113">
@@ -482,6 +482,7 @@
//++ Локализация //++ Локализация
ОчиститьСообщения();
Если Объект.ВидСсылкиСБП = ПредопределенноеЗначение("Перечисление.ВидыСсылокСБП.КассоваяСсылкаСБП") Тогда Если Объект.ВидСсылкиСБП = ПредопределенноеЗначение("Перечисление.ВидыСсылокСБП.КассоваяСсылкаСБП") Тогда
Отказ = Истина; Отказ = Истина;
@@ -592,6 +593,33 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура КассыККМПередУдалением(Элемент, Отказ)
ОчиститьСообщения();
ТекущаяСтрока = Элементы.КассыККМ.ТекущиеДанные;
Если ТекущаяСтрока <> Неопределено
И ЗначениеЗаполнено(ТекущаяСтрока.ПодключаемоеОборудование) Тогда
НайденныеЭквайринговыеТерминалы = Объект.ЭквайринговыеТерминалы.НайтиСтроки(Новый Структура("ПодключаемоеОборудованиеККТ", ТекущаяСтрока.ПодключаемоеОборудование));
Если НайденныеЭквайринговыеТерминалы.Количество() > 0 Тогда
НайденныеКассы = Объект.Кассы.НайтиСтроки(Новый Структура("ПодключаемоеОборудование", ТекущаяСтрока.ПодключаемоеОборудование));
НайденныеКассыККМ = Объект.КассыККМ.НайтиСтроки(Новый Структура("ПодключаемоеОборудование", ТекущаяСтрока.ПодключаемоеОборудование));
Если НайденныеКассы.Количество() = 0 И
НайденныеКассыККМ.Количество() = 1 Тогда
Отказ = Истина;
СтрокиСообщения = Новый Массив;
ШаблонСообщения = НСтр("ru = 'Есть настройка для эквайрингового терминала ""%1"", связанная с оборудованием ""%2"".'");
СтрокиСообщения.Добавить(СтрШаблон(ШаблонСообщения, НайденныеЭквайринговыеТерминалы[0].ЭквайринговыйТерминал,
ТекущаяСтрока.ПодключаемоеОборудование));
СтрокиСообщения.Добавить(НСтр("ru = 'Сначала на закладке ""Эквайринговые терминалы"" нужно удалить эту настройку.'"));
ОбщегоНазначенияКлиент.СообщитьПользователю(СтрСоединить(СтрокиСообщения, Символ(32)));
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыКассы #Область ОбработчикиСобытийЭлементовТаблицыФормыКассы
@@ -416,6 +416,29 @@
<Event name="TextEditEnd">Подключаемый_ОкончаниеВводаТекста</Event> <Event name="TextEditEnd">Подключаемый_ОкончаниеВводаТекста</Event>
</Events> </Events>
</InputField> </InputField>
<CommandBar name="ГруппаРедактированиеКПП" id="497">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа редактирование КПП</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа редактирование КПП</v8:content>
</v8:item>
</ToolTip>
<Width>3</Width>
<ExtendedTooltip name="ГруппаРедактированиеКППРасширеннаяПодсказка" id="498"/>
<ChildItems>
<Button name="ВключитьРедактированиеКПП" id="499">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ВключитьРедактированиеКПП</CommandName>
<ExtendedTooltip name="ВключитьРедактированиеКППРасширеннаяПодсказка" id="500"/>
</Button>
</ChildItems>
</CommandBar>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
</ChildItems> </ChildItems>
@@ -3718,5 +3741,25 @@
<Representation>Picture</Representation> <Representation>Picture</Representation>
<CurrentRowUse>DontUse</CurrentRowUse> <CurrentRowUse>DontUse</CurrentRowUse>
</Command> </Command>
<Command name="ВключитьРедактированиеКПП" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Включить редактирование КПП</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Включить редактирование КПП</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.РазрешитьРедактированиеРеквизитовОбъекта</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>CRM_ВключитьРедактированиеКПП</Action>
<Representation>Picture</Representation>
</Command>
</Commands> </Commands>
</Form> </Form>
@@ -505,6 +505,7 @@
// +CRM_Модуль // +CRM_Модуль
ИначеЕсли ИмяСобытия = "CRM_ЗаполнитьРеквизитыКонтрагентаПоПолученнымДанным" И Источник = ЭтаФорма Тогда ИначеЕсли ИмяСобытия = "CRM_ЗаполнитьРеквизитыКонтрагентаПоПолученнымДанным" И Источник = ЭтаФорма Тогда
ЗаполнитьФормуПоОбъекту(); ЗаполнитьФормуПоОбъекту();
Элементы.ВключитьРедактированиеКПП.Доступность = Элементы.КПП.ТолькоПросмотр;
// -CRM_Модуль // -CRM_Модуль
КонецЕсли; КонецЕсли;
@@ -773,6 +774,7 @@
// +CRM_Модуль мы не используем два поля ИНН и две кнопки // +CRM_Модуль мы не используем два поля ИНН и две кнопки
Элементы.ЗаполнитьПоИНН.Доступность = Не(ЭтоКомпания = 0 И ВидКомпании = 3); Элементы.ЗаполнитьПоИНН.Доступность = Не(ЭтоКомпания = 0 И ВидКомпании = 3);
Элементы.ЗаполнитьКПП.Доступность = Не(ЭтоКомпания = 0 И ВидКомпании = 3); Элементы.ЗаполнитьКПП.Доступность = Не(ЭтоКомпания = 0 И ВидКомпании = 3);
Элементы.ВключитьРедактированиеКПП.Доступность = Элементы.КПП.ТолькоПросмотр;
Если ЭтоКомпания = 0 И ВидКомпании = 2 Тогда Если ЭтоКомпания = 0 И ВидКомпании = 2 Тогда
@@ -1077,6 +1079,7 @@
// +CRM_Модуль мы не используем два поля ИНН и две кнопки // +CRM_Модуль мы не используем два поля ИНН и две кнопки
Элементы.ЗаполнитьПоИНН.Доступность = Не(ЭтоКомпания = 0 И ВидКомпании = 3); Элементы.ЗаполнитьПоИНН.Доступность = Не(ЭтоКомпания = 0 И ВидКомпании = 3);
Элементы.ЗаполнитьКПП.Доступность = Не(ЭтоКомпания = 0 И ВидКомпании = 3); Элементы.ЗаполнитьКПП.Доступность = Не(ЭтоКомпания = 0 И ВидКомпании = 3);
Элементы.ВключитьРедактированиеКПП.Доступность = Элементы.КПП.ТолькоПросмотр;
Если ЭтоКомпания = 0 И ВидКомпании = 2 Тогда Если ЭтоКомпания = 0 И ВидКомпании = 2 Тогда
@@ -2013,6 +2016,20 @@
КонецПроцедуры КонецПроцедуры
// +CRM_Модуль
&НаКлиенте
Процедура CRM_ВключитьРедактированиеКПП(Команда)
ПометкаЗначение = Не Элементы.ВключитьРедактированиеКПП.Пометка;
Элементы.КПП.ТолькоПросмотр = Не ПометкаЗначение;
Элементы.ВключитьРедактированиеКПП.Пометка = ПометкаЗначение;
КонецПроцедуры
// -CRM_Модуль
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -377,10 +377,6 @@
НастроитьОбластьВвода(); НастроитьОбластьВвода();
// Конец ЛентаСобытий // Конец ЛентаСобытий
// Управление элементами на форме
CRM_УправлениеЭлементамиНаФормах.ПриСозданииНаСервере(ЭтотОбъект, "КоманднаяПанельФормы", "ГруппаДополнительно");
// Конец Управление элементами на форме
// ПодключаемыеКоманды // ПодключаемыеКоманды
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект); ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
// Конец ПодключаемыеКоманды // Конец ПодключаемыеКоманды
@@ -579,6 +575,11 @@
Элементы.СтатусРаботы_Настройка.Видимость = Истина; Элементы.СтатусРаботы_Настройка.Видимость = Истина;
КонецЕсли; КонецЕсли;
// Управление элементами на форме
// ! Блок должен располагаться в конце процедуры !
CRM_УправлениеЭлементамиНаФормах.ПриСозданииНаСервере(ЭтотОбъект, "КоманднаяПанельФормы", "ГруппаДополнительно");
// Конец Управление элементами на форме
ТекущийЭлемент = Элементы.Наименование; ТекущийЭлемент = Элементы.Наименование;
CRM_ОбщегоНазначенияСервер.ЗакончитьЗамерВремениСозданияФормы(ЭтотОбъект, ВремяНачалаЗамера); CRM_ОбщегоНазначенияСервер.ЗакончитьЗамерВремениСозданияФормы(ЭтотОбъект, ВремяНачалаЗамера);
@@ -180,6 +180,11 @@
&НаКлиенте &НаКлиенте
Процедура НайтиИЗаписатьДублиПроверка() Процедура НайтиИЗаписатьДублиПроверка()
ЗапросКорректный = ПроверитьЗапросНаСервере(Ложь);
Если Не ЗапросКорректный Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Невозможно найти дубли. Некорректный запрос'"));
Возврат;
КонецЕсли;
ЕстьДублиПоПравилу = ПроверитьСуществованиеДублей(Объект.Ссылка); ЕстьДублиПоПравилу = ПроверитьСуществованиеДублей(Объект.Ссылка);
ТекстВопроса = НСтр("ru = 'По данному правилу ранее были зарегистрированы дубли. ТекстВопроса = НСтр("ru = 'По данному правилу ранее были зарегистрированы дубли.
|При повторном поиске все ранее найденные дубли будут удалены. Продолжить?'"); |При повторном поиске все ранее найденные дубли будут удалены. Продолжить?'");
@@ -324,12 +324,7 @@
</v8:item> </v8:item>
</ObjectPresentation> </ObjectPresentation>
<ExtendedObjectPresentation/> <ExtendedObjectPresentation/>
<ListPresentation> <ListPresentation/>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Правила проверки полномочий доверенностей</v8:content>
</v8:item>
</ListPresentation>
<ExtendedListPresentation/> <ExtendedListPresentation/>
<Explanation/> <Explanation/>
<CreateOnInput>Use</CreateOnInput> <CreateOnInput>Use</CreateOnInput>
@@ -556,7 +556,7 @@
| Параметры.Результат.Успех = | Параметры.Результат.Успех =
| Параметры.ЭлектронныйДокумент.ВидДокумента.ТипДокумента = Перечисления.ТипыДокументовЭДО.%1; | Параметры.ЭлектронныйДокумент.ВидДокумента.ТипДокумента = Перечисления.ТипыДокументовЭДО.%1;
|КонецЕсли;"; |КонецЕсли;";
ТипДокументаЭДО = "ПустаяСсыла()"; ТипДокументаЭДО = "ПустаяСсылка()";
Для Каждого ЗначениеПеречисления Из Метаданные.Перечисления.ТипыДокументовЭДО.ЗначенияПеречисления Цикл Для Каждого ЗначениеПеречисления Из Метаданные.Перечисления.ТипыДокументовЭДО.ЗначенияПеречисления Цикл
Если Перечисления.ТипыДокументовЭДО[ЗначениеПеречисления.Имя] = Правило.Значение.ТипДокумента Тогда Если Перечисления.ТипыДокументовЭДО[ЗначениеПеречисления.Имя] = Правило.Значение.ТипДокумента Тогда
ТипДокументаЭДО = ЗначениеПеречисления.Имя; ТипДокументаЭДО = ЗначениеПеречисления.Имя;
@@ -772,8 +772,8 @@
Полномочия = МашиночитаемыеДоверенности.ПолномочияДоверенностиБезОбработки(МЧД); Полномочия = МашиночитаемыеДоверенности.ПолномочияДоверенностиБезОбработки(МЧД);
Для Каждого Полномочие Из Полномочия Цикл Для Каждого Полномочие Из Полномочия Цикл
ВложенныеПономочия = СтрРазделить(Полномочие.Код, ";"); ВложенныеПолномочия = СтрРазделить(Полномочие.Код, ";");
Для Каждого ВложенноеПолномочие Из ВложенныеПономочия Цикл Для Каждого ВложенноеПолномочие Из ВложенныеПолномочия Цикл
Если СтрДлина(ВложенноеПолномочие) = 1 И СтрНайти("123456789", ВложенноеПолномочие) Тогда Если СтрДлина(ВложенноеПолномочие) = 1 И СтрНайти("123456789", ВложенноеПолномочие) Тогда
СписокПолномочий.Добавить(СтрШаблон("0%1",ВложенноеПолномочие)); СписокПолномочий.Добавить(СтрШаблон("0%1",ВложенноеПолномочие));
Иначе Иначе
@@ -878,7 +878,7 @@
КонецФункции КонецФункции
// Создаёт типовые правила у данной МЧД при загрузке МЧД // Создает типовые правила у данной МЧД при загрузке МЧД
// //
// Параметры: // Параметры:
// Доверенность - ОпределяемыйТип.МашиночитаемаяДоверенность // Доверенность - ОпределяемыйТип.МашиночитаемаяДоверенность
@@ -30,12 +30,6 @@
<v8:content>Группа ввода числа</v8:content> <v8:content>Группа ввода числа</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа число</v8:content>
</v8:item>
</ToolTip>
<Group>Vertical</Group> <Group>Vertical</Group>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
@@ -80,12 +74,6 @@
<v8:content>Группа булево</v8:content> <v8:content>Группа булево</v8:content>
</v8:item> </v8:item>
</Title> </Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа булево</v8:content>
</v8:item>
</ToolTip>
<Behavior>Usual</Behavior> <Behavior>Usual</Behavior>
<Representation>None</Representation> <Representation>None</Representation>
<ShowTitle>false</ShowTitle> <ShowTitle>false</ShowTitle>
@@ -137,11 +137,13 @@
#Область ОбработчикиСобытий #Область ОбработчикиСобытий
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ВидФормы = "ФормаОбъекта" Тогда Если ВидФормы = "ФормаОбъекта" Тогда
Если Параметры.Свойство("Ключ") И ЗначениеЗаполнено(Параметры.Ключ) Тогда Если Параметры.Свойство("Ключ") И ЗначениеЗаполнено(Параметры.Ключ) Тогда
ПроизвольнаяПродукция = ИнтеграцияВЕТИСВызовСервера.ЗначениеРеквизитаОбъекта(Параметры.Ключ, "Произвольная"); ПроизвольнаяПродукция = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Параметры.Ключ, "Произвольная");
Если ПроизвольнаяПродукция Тогда Если ПроизвольнаяПродукция Тогда
ВыбраннаяФорма = "ПроизвольнаяПродукция"; ВыбраннаяФорма = "ПроизвольнаяПродукция";
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
@@ -154,6 +156,21 @@
КонецПроцедуры КонецПроцедуры
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
Если Параметры.Свойство("ХСПроизводительОтбор") И ЗначениеЗаполнено(Параметры.ХСПроизводительОтбор) Тогда
Параметры.Отбор.Вставить("ХозяйствующийСубъектПроизводитель", Параметры.ХСПроизводительОтбор);
КонецЕсли;
Если Параметры.Свойство("ПредприятиеОтбор") И ЗначениеЗаполнено(Параметры.ПредприятиеОтбор) Тогда
СтандартнаяОбработка = Ложь;
ДанныеВыбора = ИнтеграцияВЕТИСВызовСервера.ПолучитьДанныеВыбораПродукцииСОтборомПоПредприятию(Параметры);
КонецЕсли;
КонецПроцедуры
#КонецЕсли
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка) Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
@@ -179,18 +196,5 @@
КонецПроцедуры КонецПроцедуры
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
Если Параметры.Свойство("ХСПроизводительОтбор") И ЗначениеЗаполнено(Параметры.ХСПроизводительОтбор) Тогда
Параметры.Отбор.Вставить("ХозяйствующийСубъектПроизводитель", Параметры.ХСПроизводительОтбор);
КонецЕсли;
Если Параметры.Свойство("ПредприятиеОтбор") И ЗначениеЗаполнено(Параметры.ПредприятиеОтбор) Тогда
СтандартнаяОбработка = Ложь;
ДанныеВыбора = ИнтеграцияВЕТИСВызовСервера.ПолучитьДанныеВыбораПродукцииСОтборомПоПредприятию(Параметры);
КонецЕсли;
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -115,7 +115,7 @@
КонецПроцедуры КонецПроцедуры
// Обработка данных перехода на конструктор настроек видов продуции // Обработка данных перехода на конструктор настроек видов продукции
// //
// Параметры: // Параметры:
// Параметры - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке // Параметры - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке
@@ -41,7 +41,7 @@
КонецПроцедуры КонецПроцедуры
// Обработка данных перехода на конструктор настроек видов продуции // Обработка данных перехода на конструктор настроек видов продукции
// //
// Параметры: // Параметры:
// Параметры - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке // Параметры - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке
@@ -29,7 +29,12 @@
<xr:Presentation/> <xr:Presentation/>
<xr:CheckState>0</xr:CheckState> <xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue"> <xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation/> <Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Действует</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">Действует</Value> <Value xsi:type="xs:string">Действует</Value>
</xr:Value> </xr:Value>
</xr:Item> </xr:Item>
@@ -37,15 +42,25 @@
<xr:Presentation/> <xr:Presentation/>
<xr:CheckState>0</xr:CheckState> <xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue"> <xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation/> <Presentation>
<Value xsi:type="xs:string">Не действует</Value> <v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Не действует</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">НеДействует</Value>
</xr:Value> </xr:Value>
</xr:Item> </xr:Item>
<xr:Item> <xr:Item>
<xr:Presentation/> <xr:Presentation/>
<xr:CheckState>0</xr:CheckState> <xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue"> <xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation/> <Presentation>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Все</v8:content>
</v8:item>
</Presentation>
<Value xsi:type="xs:string">Все</Value> <Value xsi:type="xs:string">Все</Value>
</xr:Value> </xr:Value>
</xr:Item> </xr:Item>
@@ -168,7 +168,7 @@
Процедура УстановитьОтборПоСтатусу() Процедура УстановитьОтборПоСтатусу()
Если ПустаяСтрока(ПереключательСтатусов) Или ПереключательСтатусов = "Все" Тогда Если ПустаяСтрока(ПереключательСтатусов) Или ПереключательСтатусов = "Все" Тогда
Статус = Перечисления.СтатусыОрганизацийПодразделений.ПустаяСсылка(); Статус = Перечисления.СтатусыОрганизацийПодразделений.ПустаяСсылка();
ИначеЕсли ПереключательСтатусов = "Не действует" Тогда ИначеЕсли ПереключательСтатусов = "НеДействует" Тогда
Статус = Перечисления.СтатусыОрганизацийПодразделений.НеДействует; Статус = Перечисления.СтатусыОрганизацийПодразделений.НеДействует;
Элементы.Список.Отображение = ОтображениеТаблицы.Список; Элементы.Список.Отображение = ОтображениеТаблицы.Список;
Иначе Иначе
@@ -746,7 +746,7 @@
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ВидМаркетплейса", ВидМаркетплейса); Запрос.УстановитьПараметр("ВидМаркетплейса", ВидМаркетплейса);
Запрос.Текст = Запрос.Текст =
"ВЫБРАТЬ "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЕСТЬNULL(КОЛИЧЕСТВО(РАЗЛИЧНЫЕ УчетныеЗаписиМаркетплейсов.Ссылка), 0) КАК КоличествоПодключений | ЕСТЬNULL(КОЛИЧЕСТВО(РАЗЛИЧНЫЕ УчетныеЗаписиМаркетплейсов.Ссылка), 0) КАК КоличествоПодключений
|ИЗ |ИЗ
| Справочник.УчетныеЗаписиМаркетплейсов КАК УчетныеЗаписиМаркетплейсов | Справочник.УчетныеЗаписиМаркетплейсов КАК УчетныеЗаписиМаркетплейсов
@@ -22,14 +22,14 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// Параметры: // Параметры:
// УчентнаяЗапись - СправочникСсылка.УчетныеЗаписиЦентровЭДО // УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЦентровЭДО
// //
// Возвращаемое значение: // Возвращаемое значение:
// Массив из Строка // Массив из Строка
&НаСервере &НаСервере
Функция ИдентификаторыЭДОУчетнойЗаписи(Знач УчентнаяЗапись) Функция ИдентификаторыЭДОУчетнойЗаписи(Знач УчетнаяЗапись)
Возврат РегистрыСведений.НастройкиИнтеграцииЦентраЭДО.ИдентификаторыЭДОУчетнойЗаписи(УчентнаяЗапись); Возврат РегистрыСведений.НастройкиИнтеграцииЦентраЭДО.ИдентификаторыЭДОУчетнойЗаписи(УчетнаяЗапись);
КонецФункции КонецФункции
@@ -22,14 +22,14 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// Параметры: // Параметры:
// УчентнаяЗапись - СправочникСсылка.УчетныеЗаписиЦентровЭДО // УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЦентровЭДО
// //
// Возвращаемое значение: // Возвращаемое значение:
// Массив из Строка // Массив из Строка
&НаСервере &НаСервере
Функция ИдентификаторыЭДОУчетнойЗаписи(Знач УчентнаяЗапись) Функция ИдентификаторыЭДОУчетнойЗаписи(Знач УчетнаяЗапись)
Возврат РегистрыСведений.НастройкиИнтеграцииЦентраЭДО.ИдентификаторыЭДОУчетнойЗаписи(УчентнаяЗапись); Возврат РегистрыСведений.НастройкиИнтеграцииЦентраЭДО.ИдентификаторыЭДОУчетнойЗаписи(УчетнаяЗапись);
КонецФункции КонецФункции
@@ -106,7 +106,7 @@
|ИЗ |ИЗ
| Справочник.УчетныеЗаписиЦентровЭДО КАК УчетныеЗаписиЦентровЭДО | Справочник.УчетныеЗаписиЦентровЭДО КАК УчетныеЗаписиЦентровЭДО
|ГДЕ |ГДЕ
| Не УчетныеЗаписиЦентровЭДО.ПометкаУдаления"; | НЕ УчетныеЗаписиЦентровЭДО.ПометкаУдаления";
РезультатЗапроса = Запрос.Выполнить(); РезультатЗапроса = Запрос.Выполнить();
@@ -77,7 +77,7 @@
// * ЕстьКолонкаПроизвольнаяЕдиницаУчета - Булево - Признак наличия в дереве колонки ПроизвольнаяЕдиницаУчета // * ЕстьКолонкаПроизвольнаяЕдиницаУчета - Булево - Признак наличия в дереве колонки ПроизвольнаяЕдиницаУчета
// * ЭтоДетализацияБезУпаковокНижнихУровней - Булево - Признак отсутствия потребительских упаковок на нижнем уровне // * ЭтоДетализацияБезУпаковокНижнихУровней - Булево - Признак отсутствия потребительских упаковок на нижнем уровне
// * ИмяКолонкиКоличествоПотребительскихУпаковок - Строка - Имя колонки "КоличествоПотребительскихУпаковок" // * ИмяКолонкиКоличествоПотребительскихУпаковок - Строка - Имя колонки "КоличествоПотребительскихУпаковок"
Функция ПараметрыСозданияШтриходовУпаковокПоДеревуМаркируемойПродукции(ДеревоМаркированнойПродукции, ПараметрыСканирования, ДополнительныеПараметры = Неопределено) Экспорт Функция ПараметрыСозданияШтрихкодовУпаковокПоДеревуМаркируемойПродукции(ДеревоМаркированнойПродукции, ПараметрыСканирования, ДополнительныеПараметры = Неопределено) Экспорт
ПараметрыСоздания = Новый Структура; ПараметрыСоздания = Новый Структура;
ПараметрыСоздания.Вставить("ШтрихкодыУпаковок", Неопределено); ПараметрыСоздания.Вставить("ШтрихкодыУпаковок", Неопределено);
@@ -120,7 +120,7 @@
// Параметры: // Параметры:
// ДеревоМаркированнойПродукции - ДеревоЗначений - дерево, содержащее результаты проверки и подбора в соответствующей форме. // ДеревоМаркированнойПродукции - ДеревоЗначений - дерево, содержащее результаты проверки и подбора в соответствующей форме.
// ТаблицаШтрихкодовВерхнегоУровня - ТаблицаЗначений - в таблицу помещаются данные о содержимом верхнего уровня. // ТаблицаШтрихкодовВерхнегоУровня - ТаблицаЗначений - в таблицу помещаются данные о содержимом верхнего уровня.
// Параметры - См. ПараметрыСозданияШтриходовУпаковокПоДеревуМаркируемойПродукции // Параметры - См. ПараметрыСозданияШтрихкодовУпаковокПоДеревуМаркируемойПродукции
// Возвращаемое значение: // Возвращаемое значение:
// Структура - результат обработки: // Структура - результат обработки:
// * ВложенныеШтрихкодыУпаковок - Массив Из СправочникСсылка.ШтрихкодыУпаковокТоваров - вложенные в текущую упаковку штриховые коды. // * ВложенныеШтрихкодыУпаковок - Массив Из СправочникСсылка.ШтрихкодыУпаковокТоваров - вложенные в текущую упаковку штриховые коды.
@@ -510,7 +510,7 @@
// //
// Параметры: // Параметры:
// ДеревоМаркированнойПродукции - ДеревоЗначений - дерево, содержащее результаты проверки и подбора в соответствующей форме // ДеревоМаркированнойПродукции - ДеревоЗначений - дерево, содержащее результаты проверки и подбора в соответствующей форме
// Параметры - См. ПараметрыСозданияШтриходовУпаковокПоДеревуМаркируемойПродукции // Параметры - См. ПараметрыСозданияШтрихкодовУпаковокПоДеревуМаркируемойПродукции
// //
Процедура ЗаполнитьШтрихкодыУпаковокИКоличествоПоДеревуМаркируемойПродукции(ДеревоМаркированнойПродукции, Параметры, СтрокиДереваСНайденнымиШтрихкодамиУпаковок = Неопределено) Экспорт Процедура ЗаполнитьШтрихкодыУпаковокИКоличествоПоДеревуМаркируемойПродукции(ДеревоМаркированнойПродукции, Параметры, СтрокиДереваСНайденнымиШтрихкодамиУпаковок = Неопределено) Экспорт
@@ -723,7 +723,7 @@
// //
Процедура СоздатьШтрихкодыУпаковокПоДаннымДерева(ДеревоУпаковок, ПараметрыСканирования, ДополнительныеПараметры = Неопределено) Экспорт Процедура СоздатьШтрихкодыУпаковокПоДаннымДерева(ДеревоУпаковок, ПараметрыСканирования, ДополнительныеПараметры = Неопределено) Экспорт
ПараметрыСозданияШтрихкодов = ПараметрыСозданияШтриходовУпаковокПоДеревуМаркируемойПродукции(ДеревоУпаковок, ПараметрыСканирования, ДополнительныеПараметры); ПараметрыСозданияШтрихкодов = ПараметрыСозданияШтрихкодовУпаковокПоДеревуМаркируемойПродукции(ДеревоУпаковок, ПараметрыСканирования, ДополнительныеПараметры);
ПараметрыСозданияШтрихкодов.ШтрихкодыУпаковок = СуществующиеЭлементыШтрихкодовДерева(ДеревоУпаковок); ПараметрыСозданияШтрихкодов.ШтрихкодыУпаковок = СуществующиеЭлементыШтрихкодовДерева(ДеревоУпаковок);
ПараметрыСозданияШтрихкодов.КэшСтатусовУказанияСерий = Новый Соответствие; ПараметрыСозданияШтрихкодов.КэшСтатусовУказанияСерий = Новый Соответствие;
ПараметрыСозданияШтрихкодов.КэшСтрокДерева = Новый Соответствие; ПараметрыСозданияШтрихкодов.КэшСтрокДерева = Новый Соответствие;
@@ -2379,7 +2379,7 @@
// //
// Параметры: // Параметры:
// СтрокиДерева - КоллекцияСтрокДереваЗначений - источник генерации штрихкодов упаковок // СтрокиДерева - КоллекцияСтрокДереваЗначений - источник генерации штрихкодов упаковок
// ПараметрыСозданияШтрихкодов - См. ПараметрыСозданияШтриходовУпаковокПоДеревуМаркируемойПродукции // ПараметрыСозданияШтрихкодов - См. ПараметрыСозданияШтрихкодовУпаковокПоДеревуМаркируемойПродукции
Процедура СоздатьШтрихкодыУпаковокПоСтрокамДерева(СтрокиДерева, ПараметрыСозданияШтрихкодов) Процедура СоздатьШтрихкодыУпаковокПоСтрокамДерева(СтрокиДерева, ПараметрыСозданияШтрихкодов)
Если СтрокиДерева.Количество() > 1 Тогда Если СтрокиДерева.Количество() > 1 Тогда
@@ -437,6 +437,7 @@
СтандартныеЭлементы.Добавить(ВУПДПередаватьПеревозочныеДокументы); СтандартныеЭлементы.Добавить(ВУПДПередаватьПеревозочныеДокументы);
СтандартныеЭлементы.Добавить(ПолеМинимальнаяРозничнаяЦена); СтандартныеЭлементы.Добавить(ПолеМинимальнаяРозничнаяЦена);
СтандартныеЭлементы.Добавить(АгрегироватьНаборыКакЛогистическиеУпаковки); СтандартныеЭлементы.Добавить(АгрегироватьНаборыКакЛогистическиеУпаковки);
СтандартныеЭлементы.Добавить(ДоступнаРегистрацияМОДВГИСМТ);
ДобавитьСтандартныеЭлементы(Результат, СтандартныеЭлементы); ДобавитьСтандартныеЭлементы(Результат, СтандартныеЭлементы);
@@ -768,6 +768,12 @@
<Description>Мера количества предмета расчета при частичном выбытии</Description> <Description>Мера количества предмета расчета при частичном выбытии</Description>
<IsFolder>false</IsFolder> <IsFolder>false</IsFolder>
</Item> </Item>
<Item id="21a054f1-3b54-44c4-96bc-464c1f65dc7d">
<Name>ДоступнаРегистрацияМОДВГИСМТ</Name>
<Code/>
<Description>Доступна регистрация МОД в ГИС МТ</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="26cb4eb2-37b9-4e57-bd85-ef78263bb1fa"> <Item id="26cb4eb2-37b9-4e57-bd85-ef78263bb1fa">
<Name>КонтролироватьПеремещениеМеждуМОД</Name> <Name>КонтролироватьПеремещениеМеждуМОД</Name>
<Code/> <Code/>
@@ -110,11 +110,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток8</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.РазрешенныеДляРедактированияЛентыНовостей</xr:Metadata> <xr:Metadata>InformationRegister.РазрешенныеДляРедактированияЛентыНовостей</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -345,21 +340,11 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОтложенноеВыполнениеТриггеров</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.НастройкаПроксиСервера</xr:Metadata> <xr:Metadata>Constant.НастройкаПроксиСервера</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.сфпОбновлениеПодпискиНаСобытияОблачнойАТС</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.СостоянияВыгрузкиЗагрузкиОбластейДанных</xr:Metadata> <xr:Metadata>InformationRegister.СостоянияВыгрузкиЗагрузкиОбластейДанных</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -405,11 +390,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ВыполнениеТриггеров</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.РассчитанныеОтборыПоНовостям_Общие</xr:Metadata> <xr:Metadata>InformationRegister.РассчитанныеОтборыПоНовостям_Общие</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -430,11 +410,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_РасчетЗаполненностиРеквизитовОбъектов</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.УстановкаПорядкаОтложенногоОбновленияВМоделиСервиса</xr:Metadata> <xr:Metadata>ScheduledJob.УстановкаПорядкаОтложенногоОбновленияВМоделиСервиса</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -555,11 +530,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_РасчетВажностиИСрочностиЗадач</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.ИспользоватьПроверкуКонтрагентов</xr:Metadata> <xr:Metadata>Constant.ИспользоватьПроверкуКонтрагентов</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -695,11 +665,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ЗавершениеОтсутствияСотрудников</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.ПлюсРасписаниеРекомендаций</xr:Metadata> <xr:Metadata>InformationRegister.ПлюсРасписаниеРекомендаций</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -720,11 +685,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОтправкаОповещенийПоСМС</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.ПрогрессОбновления</xr:Metadata> <xr:Metadata>InformationRegister.ПрогрессОбновления</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -835,11 +795,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_СинхронизацияС_iCRM</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Catalog.ИнформационныеСсылкиДляФорм</xr:Metadata> <xr:Metadata>Catalog.ИнформационныеСсылкиДляФорм</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -915,11 +870,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток5</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.ОбработчикиОбновления</xr:Metadata> <xr:Metadata>InformationRegister.ОбработчикиОбновления</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -940,11 +890,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОбменB2BПортал</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.СинхронизацияССервисомИнтеграции</xr:Metadata> <xr:Metadata>ScheduledJob.СинхронизацияССервисомИнтеграции</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1080,11 +1025,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.сфпЗагрузкаПланаНумерации</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.ABCКлассификацияПартнеров</xr:Metadata> <xr:Metadata>ScheduledJob.ABCКлассификацияПартнеров</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1100,11 +1040,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ЗагрузкаЛидогенерации</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.УдалениеВзаимодействийПоРассылкамИОповещениям</xr:Metadata> <xr:Metadata>ScheduledJob.УдалениеВзаимодействийПоРассылкамИОповещениям</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1130,11 +1065,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОтправкаОповещенийПоЭлектроннойПочте</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.ЗагружатьИУстанавливатьИсправленияАвтоматически</xr:Metadata> <xr:Metadata>Constant.ЗагружатьИУстанавливатьИсправленияАвтоматически</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1170,11 +1100,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток2</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Catalog.ПоставщикиУслугСервиса</xr:Metadata> <xr:Metadata>Catalog.ПоставщикиУслугСервиса</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1225,11 +1150,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток6</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.ОсновнойЯзык</xr:Metadata> <xr:Metadata>Constant.ОсновнойЯзык</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1290,11 +1210,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ФормированиеПоздравленийСДнемРождения</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.ОбновлениеТоварногоКаталогаOzon</xr:Metadata> <xr:Metadata>ScheduledJob.ОбновлениеТоварногоКаталогаOzon</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1455,16 +1370,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток7</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_СинхронизацияКалендарей</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.ПолучениеРекомендацийПоСклейкеТовараЯндексМаркет</xr:Metadata> <xr:Metadata>ScheduledJob.ПолучениеРекомендацийПоСклейкеТовараЯндексМаркет</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1485,21 +1390,11 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОчисткаИсторииРеквизитовОбъектов</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Catalog.УдалитьОчередьЗаданий</xr:Metadata> <xr:Metadata>Catalog.УдалитьОчередьЗаданий</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ФормированиеПоздравленийСПраздниками</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.ЗамерыОбластиСтатистики</xr:Metadata> <xr:Metadata>InformationRegister.ЗамерыОбластиСтатистики</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1525,11 +1420,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОтправкаРассылокЭлектронныхПисем</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.ОперацииРегламентныхЗаданий</xr:Metadata> <xr:Metadata>InformationRegister.ОперацииРегламентныхЗаданий</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1625,11 +1515,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток1</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.КлассификаторыМЧД</xr:Metadata> <xr:Metadata>InformationRegister.КлассификаторыМЧД</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1650,21 +1535,11 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_РасчетКлючевыхПоказателей</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.ЗначенияКатегорийОбщие</xr:Metadata> <xr:Metadata>InformationRegister.ЗначенияКатегорийОбщие</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.сфпОчисткаСообщенийЖурналаЗвонков</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.ДополнительныеАдресныеСведения</xr:Metadata> <xr:Metadata>InformationRegister.ДополнительныеАдресныеСведения</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1750,11 +1625,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОбменДаннымиСMSExchange</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.ПерестроениеАгрегатов</xr:Metadata> <xr:Metadata>ScheduledJob.ПерестроениеАгрегатов</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1850,11 +1720,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток9</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.ОбновлениеСтатусовСертификатовНоменклатурыРосаккредитации</xr:Metadata> <xr:Metadata>ScheduledJob.ОбновлениеСтатусовСертификатовНоменклатурыРосаккредитации</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2005,16 +1870,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.сфпПолучитьИсториюЗвонков</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_НачалоОтсутствияСотрудников</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.ЗакрытиеМесяца</xr:Metadata> <xr:Metadata>ScheduledJob.ЗакрытиеМесяца</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2040,11 +1895,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.SMS4B_ПолучениеSMS</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.ИспользоватьОценкуПроизводительностиСинхронизацииДанных</xr:Metadata> <xr:Metadata>Constant.ИспользоватьОценкуПроизводительностиСинхронизацииДанных</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2105,11 +1955,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_СвязыватьРанееПолученныеEmailиЗвонкиСКлиентами</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.КаталогРезервныхКопийВстроенногоХранилищаДвоичныхДанныхДляWindows</xr:Metadata> <xr:Metadata>Constant.КаталогРезервныхКопийВстроенногоХранилищаДвоичныхДанныхДляWindows</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2135,16 +1980,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_РасчетСтатусовРаботыСКлиентами</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_УдалениеНеактуальныхНапоминаний</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.МониторингЗадач</xr:Metadata> <xr:Metadata>ScheduledJob.МониторингЗадач</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2175,11 +2010,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОтправкаОповещенийВМессенджер</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.ДопустимыеЗначенияПотребительскихСвойствЗЕРНО</xr:Metadata> <xr:Metadata>InformationRegister.ДопустимыеЗначенияПотребительскихСвойствЗЕРНО</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2370,11 +2200,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОчисткаВложенийЭлектронныхПисем</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.ВнешнийАдресУправляющегоПриложения</xr:Metadata> <xr:Metadata>Constant.ВнешнийАдресУправляющегоПриложения</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2390,11 +2215,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОбменСИнтернетМагазином</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.СообщенияОбменаДаннымиОбластейДанных</xr:Metadata> <xr:Metadata>InformationRegister.СообщенияОбменаДаннымиОбластейДанных</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2440,11 +2260,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_РегистрацияПотерянныхОбращений</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.ПолучениеЭлектронныхДокументов</xr:Metadata> <xr:Metadata>ScheduledJob.ПолучениеЭлектронныхДокументов</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2475,11 +2290,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток3</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.ЗагрузкаСтатусовОперацийОблачныхКасс</xr:Metadata> <xr:Metadata>ScheduledJob.ЗагрузкаСтатусовОперацийОблачныхКасс</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2525,11 +2335,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток4</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.РазмерБлокаПередачиФайла</xr:Metadata> <xr:Metadata>Constant.РазмерБлокаПередачиФайла</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2560,11 +2365,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ФормированиеОповещений</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>IntegrationService.ОбменСообщениями</xr:Metadata> <xr:Metadata>IntegrationService.ОбменСообщениями</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2595,11 +2395,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_РасчетПотенциалаКлиентов</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Catalog.ВерсииПоставляемыхРасширений</xr:Metadata> <xr:Metadata>Catalog.ВерсииПоставляемыхРасширений</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2635,11 +2430,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОтложеннаяОтправкаСообщенийМессенджера</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.ОтправленныеСерверныеОповещения</xr:Metadata> <xr:Metadata>InformationRegister.ОтправленныеСерверныеОповещения</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2655,11 +2445,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ПолучениеИОтправкаЭлектронныхПисемПоток10</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.ВыгрузкаОстатковНаМаркетплейсы</xr:Metadata> <xr:Metadata>ScheduledJob.ВыгрузкаОстатковНаМаркетплейсы</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2775,11 +2560,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ЗагрузкаСквознойАналитики</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>ScheduledJob.УдалениеОтложенныхЧековККМ</xr:Metadata> <xr:Metadata>ScheduledJob.УдалениеОтложенныхЧековККМ</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -2950,11 +2730,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.сфпОбновлениеРечевойАналитики</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.ПериодХраненияИсторииЗапусковЗаданийОчереди</xr:Metadata> <xr:Metadata>Constant.ПериодХраненияИсторииЗапусковЗаданийОчереди</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -3095,11 +2870,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ФормированиеСоставаЗначенийКлассификаторов</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.ИспользоватьКонтрольТарификации</xr:Metadata> <xr:Metadata>Constant.ИспользоватьКонтрольТарификации</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -3120,11 +2890,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.сфпОбновлениеТелефонныхКниг</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>Constant.ИспользоватьПоставляемыеДанныеОрганизацийБизнесСеть</xr:Metadata> <xr:Metadata>Constant.ИспользоватьПоставляемыеДанныеОрганизацийБизнесСеть</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -3240,11 +3005,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_ОжиданиеСобытийМессенджера</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.РежимыПодключенияВнешнихМодулей</xr:Metadata> <xr:Metadata>InformationRegister.РежимыПодключенияВнешнихМодулей</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -3285,11 +3045,6 @@
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/> <xr:ConditionalSeparation/>
</xr:Item> </xr:Item>
<xr:Item>
<xr:Metadata>ScheduledJob.CRM_СтатусыEmailРассылок</xr:Metadata>
<xr:Use>DontUse</xr:Use>
<xr:ConditionalSeparation/>
</xr:Item>
<xr:Item> <xr:Item>
<xr:Metadata>InformationRegister.БезопасноеХранилищеДанных</xr:Metadata> <xr:Metadata>InformationRegister.БезопасноеХранилищеДанных</xr:Metadata>
<xr:Use>DontUse</xr:Use> <xr:Use>DontUse</xr:Use>
@@ -1207,7 +1207,6 @@
<ExtendedTooltip name="табИсполнители_УправлениеПоискомРасширеннаяПодсказка" id="809"/> <ExtendedTooltip name="табИсполнители_УправлениеПоискомРасширеннаяПодсказка" id="809"/>
</SearchControlAddition> </SearchControlAddition>
<Events> <Events>
<Event name="BeforeDeleteRow">табИсполнители_ПередУдалением</Event>
<Event name="OnActivateRow">табИсполнители_ПриАктивизацииСтроки</Event> <Event name="OnActivateRow">табИсполнители_ПриАктивизацииСтроки</Event>
<Event name="OnStartEdit">табИсполнители_ПриНачалеРедактирования</Event> <Event name="OnStartEdit">табИсполнители_ПриНачалеРедактирования</Event>
<Event name="AfterDeleteRow">табИсполнители_ПослеУдаления</Event> <Event name="AfterDeleteRow">табИсполнители_ПослеУдаления</Event>
@@ -1238,7 +1237,6 @@
<ClearButton>true</ClearButton> <ClearButton>true</ClearButton>
<OpenButton>false</OpenButton> <OpenButton>false</OpenButton>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems> <ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChooseType>false</ChooseType>
<TypeLink> <TypeLink>
<xr:DataPath>38</xr:DataPath> <xr:DataPath>38</xr:DataPath>
<xr:LinkItem>0</xr:LinkItem> <xr:LinkItem>0</xr:LinkItem>
@@ -1248,6 +1246,7 @@
<Events> <Events>
<Event name="OnChange">табИсполнители_ИсполнительПриИзменении</Event> <Event name="OnChange">табИсполнители_ИсполнительПриИзменении</Event>
<Event name="StartChoice">табИсполнители_ИсполнительНачалоВыбора</Event> <Event name="StartChoice">табИсполнители_ИсполнительНачалоВыбора</Event>
<Event name="StartListChoice">табИсполнители_ИсполнительНачалоВыбораИзСписка</Event>
<Event name="Clearing">табИсполнители_ИсполнительОчистка</Event> <Event name="Clearing">табИсполнители_ИсполнительОчистка</Event>
</Events> </Events>
</InputField> </InputField>
@@ -3042,6 +3041,14 @@ Executor. Actions are added via context menu of list.</v8:content>
<InputField name="Шаблон2" id="250"> <InputField name="Шаблон2" id="250">
<DataPath>ТочкаМаршрута_Шаблон</DataPath> <DataPath>ТочкаМаршрута_Шаблон</DataPath>
<ReadOnly>true</ReadOnly> <ReadOnly>true</ReadOnly>
<ChoiceParameters>
<app:item name="Отбор.ТипПроцесса">
<app:value xsi:type="FormChoiceListDesTimeValue">
<Presentation/>
<Value xsi:type="xr:DesignTimeRef">Enum.bpmТипыПроцессов.EnumValue.НезависимыйПроцесс</Value>
</app:value>
</app:item>
</ChoiceParameters>
<ContextMenu name="Шаблон2КонтекстноеМеню" id="251"/> <ContextMenu name="Шаблон2КонтекстноеМеню" id="251"/>
<ExtendedTooltip name="Шаблон2ExtendedTooltip" id="739"/> <ExtendedTooltip name="Шаблон2ExtendedTooltip" id="739"/>
<Events> <Events>
@@ -4776,37 +4783,6 @@ Executor. Actions are added via context menu of list.</v8:content>
</dcscor:item> </dcscor:item>
</dcsset:appearance> </dcsset:appearance>
</dcsset:item> </dcsset:item>
<dcsset:item>
<dcsset:selection>
<dcsset:item>
<dcsset:field>табИсполнители_Исполнитель</dcsset:field>
</dcsset:item>
<dcsset:item>
<dcsset:field>табИсполнители_Все</dcsset:field>
</dcsset:item>
</dcsset:selection>
<dcsset:filter>
<dcsset:item xsi:type="dcsset:FilterItemGroup">
<dcsset:groupType>AndGroup</dcsset:groupType>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:left xsi:type="dcscor:Field">ТипПроцесса</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="dcscor:DesignTimeValue">Перечисление.bpmТипыПроцессов.ПроцессОбъекта</dcsset:right>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:left xsi:type="dcscor:Field">табИсполнители_.Исполнитель</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="dcscor:DesignTimeValue">Перечисление.CRM_ВидыИсполнителейЗадач.Ответственный</dcsset:right>
</dcsset:item>
</dcsset:item>
</dcsset:filter>
<dcsset:appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ТолькоПросмотр</dcscor:parameter>
<dcscor:value xsi:type="xs:boolean">true</dcscor:value>
</dcscor:item>
</dcsset:appearance>
</dcsset:item>
</ConditionalAppearance> </ConditionalAppearance>
</Attributes> </Attributes>
<Commands> <Commands>
@@ -1,5 +1,4 @@
 #Область ОбработчикиСобытийФормы
#Область ОбработчикиСобытийФормы
&НаСервере &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
@@ -542,13 +541,6 @@
ТекущиеДанныеИсп = Элементы.табИсполнители_.ТекущиеДанные; ТекущиеДанныеИсп = Элементы.табИсполнители_.ТекущиеДанные;
ТекущиеДанныеИсп.Объект = Процесс; ТекущиеДанныеИсп.Объект = Процесс;
ТекущиеДанныеИсп.ТочкаМаршрута = ТочкаМаршрута; ТекущиеДанныеИсп.ТочкаМаршрута = ТочкаМаршрута;
ИначеЕсли НоваяСтрока И Копирование Тогда
Если ТипПроцесса = ПредопределенноеЗначение("Перечисление.bpmТипыПроцессов.ПроцессОбъекта") Тогда
ТекущиеДанныеИсп = Элементы.табИсполнители_.ТекущиеДанные;
Если ТекущиеДанныеИсп.Исполнитель = ПредопределенноеЗначение("Перечисление.CRM_ВидыИсполнителейЗадач.Ответственный") Тогда
ТекущиеДанныеИсп.Исполнитель = ПредопределенноеЗначение("Перечисление.CRM_ВидыИсполнителейЗадач.Автор");
КонецЕсли;
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -560,22 +552,9 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура табИсполнители_ПередУдалением(Элемент, Отказ)
Отказ = (Элементы.табИсполнители_.ТекущиеДанные.Исполнитель = ПредопределенноеЗначение("Перечисление.CRM_ВидыИсполнителейЗадач.Ответственный") И
ТипПроцесса = ПредопределенноеЗначение("Перечисление.bpmТипыПроцессов.ПроцессОбъекта"));
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура табИсполнители_ИсполнительПриИзменении(Элемент) Процедура табИсполнители_ИсполнительПриИзменении(Элемент)
Если Элементы.табИсполнители_.ТекущиеДанные.Исполнитель = ПредопределенноеЗначение("Перечисление.CRM_ВидыИсполнителейЗадач.Ответственный")
И ТипПроцесса = ПредопределенноеЗначение("Перечисление.bpmТипыПроцессов.ПроцессОбъекта") Тогда
Элементы.табИсполнители_.ТекущиеДанные.Исполнитель = ПредопределенноеЗначение("Перечисление.CRM_ВидыИсполнителейЗадач.Автор");
КонецЕсли;
Элементы.табМаршрут_.ТекущиеДанные.ИсполнительСтрокой = ОбновитьИсполнителяСтрокой(); Элементы.табМаршрут_.ТекущиеДанные.ИсполнительСтрокой = ОбновитьИсполнителяСтрокой();
Элементы.табИсполнители_Все.ТолькоПросмотр = ПроверитьНаРоль(Элементы.табИсполнители_.ТекущиеДанные.Исполнитель); Элементы.табИсполнители_Все.ТолькоПросмотр = ПроверитьНаРоль(Элементы.табИсполнители_.ТекущиеДанные.Исполнитель);
@@ -604,7 +583,7 @@
Ммассив = Новый массив; Ммассив = Новый массив;
Ммассив.Добавить(Тип("СправочникСсылка.CRM_ТочкиМаршрутов")); Ммассив.Добавить(Тип("СправочникСсылка.CRM_ТочкиМаршрутов"));
СписокТипов.Добавить(Новый ОписаниеТипов(Ммассив),"Этап"); СписокТипов.Добавить(Новый ОписаниеТипов(Ммассив),"Исполнитель выбранного этапа");
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
ОписаниеОповещенияВыбора = Новый ОписаниеОповещения("табИсполнители_ИсполнительНачалоВыбораЗавершение", ЭтотОбъект, Элемент); ОписаниеОповещенияВыбора = Новый ОписаниеОповещения("табИсполнители_ИсполнительНачалоВыбораЗавершение", ЭтотОбъект, Элемент);
@@ -627,6 +606,11 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура табИсполнители_ИсполнительНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
табИсполнители_ИсполнительНачалоВыбора(Элемент, Неопределено, СтандартнаяОбработка)
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура табИсполнители_ИсполнительНачалоВыбораЗавершение(ВыбранныйТип, Элемент) Экспорт Процедура табИсполнители_ИсполнительНачалоВыбораЗавершение(ВыбранныйТип, Элемент) Экспорт
Если НЕ ВыбранныйТип = Неопределено Тогда Если НЕ ВыбранныйТип = Неопределено Тогда
@@ -659,6 +643,7 @@
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
Элементы.табИсполнители_.ТекущиеДанные.Исполнитель = Неопределено; Элементы.табИсполнители_.ТекущиеДанные.Исполнитель = Неопределено;
Элементы.табИсполнители_Исполнитель.ОграничениеТипа = Новый ОписаниеТипов("Неопределено");
КонецПроцедуры КонецПроцедуры
@@ -1253,12 +1253,16 @@
Если Не РолиПользователя.НайтиПоЗначению(ОбъектСсылка.РольИсполнителя) = Неопределено Тогда Если Не РолиПользователя.НайтиПоЗначению(ОбъектСсылка.РольИсполнителя) = Неопределено Тогда
Возврат Истина; Возврат Истина;
КонецЕсли; КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(ОбъектСсылка.Автор) И ОбъектСсылка.Автор = ТекущийПользователь Тогда
Возврат Истина;
КонецЕсли; КонецЕсли;
ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("БизнесПроцессСсылка.CRM_БизнесПроцесс") Тогда ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("БизнесПроцессСсылка.CRM_БизнесПроцесс") Тогда
Если ЗначениеЗаполнено(ОбъектСсылка.Ответственный) И ОбъектСсылка.Ответственный = ТекущийПользователь Тогда Если ЗначениеЗаполнено(ОбъектСсылка.Ответственный) И ОбъектСсылка.Ответственный = ТекущийПользователь Тогда
Возврат Истина; Возврат Истина;
ИначеЕсли ЗначениеЗаполнено(ОбъектСсылка.Автор) И ОбъектСсылка.Автор = ТекущийПользователь Тогда
Возврат Истина;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -130,7 +130,7 @@
Если НавигационнаяСсылкаФорматированнойСтроки = "СкопироватьШтриховойКодВБуферОбмена" Тогда Если НавигационнаяСсылкаФорматированнойСтроки = "СкопироватьШтриховойКодВБуферОбмена" Тогда
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
ОбщегоНазначенияИСКлиент.СкопироватьШтрихКодВБуферОбмена(Элементы.БуферОбмена, КодМаркировки); ОбщегоНазначенияИСКлиент.СкопироватьШтрихкодВБуферОбмена(Элементы.БуферОбмена, КодМаркировки);
КонецЕсли; КонецЕсли;
@@ -161,8 +161,8 @@
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
Если ИспользуетсяСервис1СНоменклатура Тогда Если ИспользуетсяСервис1СНоменклатура Тогда
ШтрихКоды = ШтрихкодыНоменклатурыКОпределению(); Штрихкоды = ШтрихкодыНоменклатурыКОпределению();
ПолучитьНоменклатуруПоШтрихкодамВСервисе(ШтрихКоды); ПолучитьНоменклатуруПоШтрихкодамВСервисе(Штрихкоды);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -914,7 +914,7 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПолучитьНоменклатуруПоШтрихкодамВСервисе(ШтрихКоды) Процедура ПолучитьНоменклатуруПоШтрихкодамВСервисе(Штрихкоды)
НастроитьФормуПриДлительнойОперации(Истина, "Поиск"); НастроитьФормуПриДлительнойОперации(Истина, "Поиск");
@@ -925,7 +925,7 @@
МодульРаботаСНоменклатуройКлиент().ПолучитьНоменклатуруПоШтрихкодам( МодульРаботаСНоменклатуройКлиент().ПолучитьНоменклатуруПоШтрихкодам(
ОписаниеОповещения, ОписаниеОповещения,
ШтрихКоды, Штрихкоды,
ЭтотОбъект, ЭтотОбъект,
ИдентификаторЗадания, ИдентификаторЗадания,
Элементы.ГруппаДекорацииДлительнойОперации); Элементы.ГруппаДекорацииДлительнойОперации);
@@ -71,6 +71,18 @@
</Title> </Title>
<ExtendedTooltip name="ОсновнаяРасширеннаяПодсказка" id="11"/> <ExtendedTooltip name="ОсновнаяРасширеннаяПодсказка" id="11"/>
<ChildItems> <ChildItems>
<LabelDecoration name="ДекорацияСценарийРаботы" id="178">
<AutoMaxWidth>false</AutoMaxWidth>
<TextColor>style:ТекстИнформационнойНадписиИС</TextColor>
<Title formatted="true">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Для группового сопоставления выделите несколько строк в табличной части &lt;b&gt;Коды&lt;/&gt;&lt;b&gt; &lt;/&gt;&lt;b&gt;требующие&lt;/&gt;&lt;b&gt; &lt;/&gt;&lt;b&gt;уточнения&lt;/&gt; и выберите один из вариантов в таблице &lt;b&gt;Варианты&lt;/&gt;&lt;b&gt; &lt;/&gt;&lt;b&gt;сопоставления&lt;/&gt;, нажмите "&lt;b&gt;&lt;&lt;&lt;/&gt;" для сопоставления выделенных&lt;b&gt;,&lt;/&gt;&lt;b&gt; &lt;/&gt;или нажмите "&lt;b&gt;&lt;&lt;&lt;&lt;&lt;/&gt;"&lt;b&gt; &lt;/&gt;для сопоставления всех подходящих строк (без учета выделеных строк)</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияСценарийРаботыКонтекстноеМеню" id="179"/>
<ExtendedTooltip name="ДекорацияСценарийРаботыРасширеннаяПодсказка" id="180"/>
</LabelDecoration>
<UsualGroup name="ГруппаГоризонтально" id="181"> <UsualGroup name="ГруппаГоризонтально" id="181">
<Title> <Title>
<v8:item> <v8:item>
@@ -161,7 +173,6 @@
</InputField> </InputField>
<InputField name="ДанныеДляУточненияНоменклатура" id="108"> <InputField name="ДанныеДляУточненияНоменклатура" id="108">
<DataPath>ДанныеДляУточнения.Номенклатура</DataPath> <DataPath>ДанныеДляУточнения.Номенклатура</DataPath>
<EditMode>EnterOnInput</EditMode>
<ChoiceHistoryOnInput>DontUse</ChoiceHistoryOnInput> <ChoiceHistoryOnInput>DontUse</ChoiceHistoryOnInput>
<ContextMenu name="ДанныеДляУточненияНоменклатураКонтекстноеМеню" id="109"/> <ContextMenu name="ДанныеДляУточненияНоменклатураКонтекстноеМеню" id="109"/>
<ExtendedTooltip name="ДанныеДляУточненияНоменклатураРасширеннаяПодсказка" id="110"/> <ExtendedTooltip name="ДанныеДляУточненияНоменклатураРасширеннаяПодсказка" id="110"/>
@@ -173,14 +184,12 @@
</InputField> </InputField>
<InputField name="ДанныеДляУточненияХарактеристика" id="111"> <InputField name="ДанныеДляУточненияХарактеристика" id="111">
<DataPath>ДанныеДляУточнения.Характеристика</DataPath> <DataPath>ДанныеДляУточнения.Характеристика</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoMarkIncomplete>true</AutoMarkIncomplete> <AutoMarkIncomplete>true</AutoMarkIncomplete>
<ContextMenu name="ДанныеДляУточненияХарактеристикаКонтекстноеМеню" id="112"/> <ContextMenu name="ДанныеДляУточненияХарактеристикаКонтекстноеМеню" id="112"/>
<ExtendedTooltip name="ДанныеДляУточненияХарактеристикаРасширеннаяПодсказка" id="113"/> <ExtendedTooltip name="ДанныеДляУточненияХарактеристикаРасширеннаяПодсказка" id="113"/>
</InputField> </InputField>
<InputField name="ДанныеДляУточненияСерия" id="114"> <InputField name="ДанныеДляУточненияСерия" id="114">
<DataPath>ДанныеДляУточнения.Серия</DataPath> <DataPath>ДанныеДляУточнения.Серия</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoMarkIncomplete>true</AutoMarkIncomplete> <AutoMarkIncomplete>true</AutoMarkIncomplete>
<ContextMenu name="ДанныеДляУточненияСерияКонтекстноеМеню" id="115"/> <ContextMenu name="ДанныеДляУточненияСерияКонтекстноеМеню" id="115"/>
<ExtendedTooltip name="ДанныеДляУточненияСерияРасширеннаяПодсказка" id="116"/> <ExtendedTooltip name="ДанныеДляУточненияСерияРасширеннаяПодсказка" id="116"/>
@@ -190,7 +199,6 @@
</InputField> </InputField>
<InputField name="ДанныеДляУточненияИдентификаторПроисхожденияВЕТИС" id="117"> <InputField name="ДанныеДляУточненияИдентификаторПроисхожденияВЕТИС" id="117">
<DataPath>ДанныеДляУточнения.ИдентификаторПроисхожденияВЕТИС</DataPath> <DataPath>ДанныеДляУточнения.ИдентификаторПроисхожденияВЕТИС</DataPath>
<EditMode>EnterOnInput</EditMode>
<AutoMarkIncomplete>true</AutoMarkIncomplete> <AutoMarkIncomplete>true</AutoMarkIncomplete>
<ChoiceHistoryOnInput>DontUse</ChoiceHistoryOnInput> <ChoiceHistoryOnInput>DontUse</ChoiceHistoryOnInput>
<ContextMenu name="ДанныеДляУточненияИдентификаторПроисхожденияВЕТИСКонтекстноеМеню" id="118"/> <ContextMenu name="ДанныеДляУточненияИдентификаторПроисхожденияВЕТИСКонтекстноеМеню" id="118"/>
@@ -440,18 +448,6 @@
</UsualGroup> </UsualGroup>
</ChildItems> </ChildItems>
</UsualGroup> </UsualGroup>
<LabelDecoration name="ДекорацияСценарийРаботы" id="178">
<AutoMaxWidth>false</AutoMaxWidth>
<TextColor>style:ТекстИнформационнойНадписиИС</TextColor>
<Title formatted="true">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Для группового сопоставления выделите несколько строк в табличной части &lt;b&gt;Коды&lt;/&gt;&lt;b&gt; &lt;/&gt;&lt;b&gt;требующие&lt;/&gt;&lt;b&gt; &lt;/&gt;&lt;b&gt;уточнения&lt;/&gt; и выберите один из вариантов в таблице &lt;b&gt;Варианты&lt;/&gt;&lt;b&gt; &lt;/&gt;&lt;b&gt;сопоставления&lt;/&gt;, нажмите "&lt;b&gt;&lt;&lt;&lt;/&gt;" для сопоставления выделенных&lt;b&gt;,&lt;/&gt;&lt;b&gt; &lt;/&gt;или нажмите "&lt;b&gt;&lt;&lt;&lt;&lt;&lt;/&gt;"&lt;b&gt; &lt;/&gt;для сопоставления всех подходящих строк (без учета выделеных строк)</v8:content>
</v8:item>
</Title>
<ContextMenu name="ДекорацияСценарийРаботыКонтекстноеМеню" id="179"/>
<ExtendedTooltip name="ДекорацияСценарийРаботыРасширеннаяПодсказка" id="180"/>
</LabelDecoration>
</ChildItems> </ChildItems>
</Page> </Page>
<Page name="СтраницаБуфер" id="90"> <Page name="СтраницаБуфер" id="90">
@@ -478,6 +474,43 @@
</Page> </Page>
</ChildItems> </ChildItems>
</Pages> </Pages>
<UsualGroup name="ГруппаЗапомнитьВыбор" id="236">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа запомнить выбор</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Группа запомнить выбор</v8:content>
</v8:item>
</ToolTip>
<Group>AlwaysHorizontal</Group>
<HorizontalAlign>Left</HorizontalAlign>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаЗапомнитьВыборРасширеннаяПодсказка" id="237"/>
<ChildItems>
<CheckBoxField name="ЗапомнитьВыбор" id="238">
<DataPath>ЗапомнитьВыбор</DataPath>
<TitleLocation>Right</TitleLocation>
<ToolTipRepresentation>ShowBottom</ToolTipRepresentation>
<CheckBoxType>CheckBox</CheckBoxType>
<ContextMenu name="ЗапомнитьВыборКонтекстноеМеню" id="239"/>
<ExtendedTooltip name="ЗапомнитьВыборРасширеннаяПодсказка" id="240">
<AutoMaxWidth>false</AutoMaxWidth>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>При последовательном уточнении однородных упаковок не будет показываться эта форма. Будут использованы указанные данные. </v8:content>
</v8:item>
</Title>
</ExtendedTooltip>
</CheckBoxField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаНиз" id="139"> <UsualGroup name="ГруппаНиз" id="139">
<Title> <Title>
<v8:item> <v8:item>
@@ -979,6 +1012,21 @@
<v8:Type>xs:boolean</v8:Type> <v8:Type>xs:boolean</v8:Type>
</Type> </Type>
</Column> </Column>
<Column name="GTIN" id="94">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>GTIN</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
</Columns> </Columns>
</Attribute> </Attribute>
<Attribute name="ПараметрыУказанияСерий" id="6"> <Attribute name="ПараметрыУказанияСерий" id="6">
@@ -1053,6 +1101,17 @@
</v8:StringQualifiers> </v8:StringQualifiers>
</Type> </Type>
</Attribute> </Attribute>
<Attribute name="ЗапомнитьВыбор" id="93">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Запомнить выбор</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes> </Attributes>
<Commands> <Commands>
<Command name="СопоставитьВыделенные" id="1"> <Command name="СопоставитьВыделенные" id="1">
@@ -48,7 +48,7 @@
Процедура ПоясняющийТекстОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Процедура ПоясняющийТекстОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
ОбщегоНазначенияИСКлиент.СкопироватьШтрихКодВБуферОбмена(Элементы.БуферОбмена, КодМаркировки); ОбщегоНазначенияИСКлиент.СкопироватьШтрихкодВБуферОбмена(Элементы.БуферОбмена, КодМаркировки);
КонецПроцедуры КонецПроцедуры
@@ -293,7 +293,13 @@
Склад = ПараметрыСканирования.Склад; Склад = ПараметрыСканирования.Склад;
ДеревоУпаковок = ПолучитьИзВременногоХранилища(АдресДереваУпаковок); ДеревоУпаковок = ПолучитьИзВременногоХранилища(АдресДереваУпаковок);
Упаковка = НайтиСтрокуДереваПоКодуМаркировки(ДеревоУпаковок, КодМаркировки); Упаковка = НайтиСтрокуДереваПоКодуМаркировки(ДеревоУпаковок, КодМаркировки);
ЕстьКолонкаЭтоШтрихкодНоменклатуры = ДеревоУпаковок.Колонки.Найти("ЭтоШтрихкодНоменклатуры") <> Неопределено;
РазрешитьСохранениеДанных = ПараметрыСканирования.ИспользуютсяДанныеВыбораПоМаркируемойПродукции;
Если ЕстьКолонкаЭтоШтрихкодНоменклатуры Тогда
ЗаполнитьТребующиеУточненияДанныеУпаковки(Упаковка, ПараметрыСканирования.ДетализацияСтруктурыХранения, РазрешитьСохранениеДанных);
Иначе
ЗаполнитьТребующиеУточненияДанныеУпаковки(Упаковка, ПараметрыСканирования.ДетализацияСтруктурыХранения); ЗаполнитьТребующиеУточненияДанныеУпаковки(Упаковка, ПараметрыСканирования.ДетализацияСтруктурыХранения);
КонецЕсли;
ИнтеграцияИСПереопределяемый.ЗаполнитьСлужебныеРеквизитыВКоллекции(ЭтотОбъект, ДанныеДляУточнения, ПараметрыСканирования); ИнтеграцияИСПереопределяемый.ЗаполнитьСлужебныеРеквизитыВКоллекции(ЭтотОбъект, ДанныеДляУточнения, ПараметрыСканирования);
ОбработатьРежимВыбораИзДокумента(); ОбработатьРежимВыбораИзДокумента();
@@ -316,6 +322,8 @@
Элементы.ДанныеДляУточненияНоменклатура.АвтоОтметкаНезаполненного = Истина; Элементы.ДанныеДляУточненияНоменклатура.АвтоОтметкаНезаполненного = Истина;
КонецЕсли; КонецЕсли;
Элементы.ГруппаЗапомнитьВыбор.Видимость = РазрешитьСохранениеДанных;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -434,7 +442,7 @@
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
Процедура ЗаполнитьТребующиеУточненияДанныеУпаковки(СтрокаДерева, ДетализацияСтруктурыХранения) Процедура ЗаполнитьТребующиеУточненияДанныеУпаковки(СтрокаДерева, ДетализацияСтруктурыХранения, РазрешитьСохранениеДанных = Ложь)
Если СтрокаДерева.ВидУпаковки = Перечисления.ВидыУпаковокИС.Потребительская Если СтрокаДерева.ВидУпаковки = Перечисления.ВидыУпаковокИС.Потребительская
Или СтрокаДерева.ВидУпаковки = Перечисления.ВидыУпаковокИС.Групповая Или СтрокаДерева.ВидУпаковки = Перечисления.ВидыУпаковокИС.Групповая
@@ -443,6 +451,7 @@
И ДетализацияСтруктурыХранения = Перечисления.ДетализацияСтруктурыХраненияИС.КоробаСГрупповымиУпаковками) Тогда И ДетализацияСтруктурыХранения = Перечисления.ДетализацияСтруктурыХраненияИС.КоробаСГрупповымиУпаковками) Тогда
ТребуетсяУточнение = Не ЗначениеЗаполнено(СтрокаДерева.Номенклатура); ТребуетсяУточнение = Не ЗначениеЗаполнено(СтрокаДерева.Номенклатура);
РазрешитьСохранениеДанных = РазрешитьСохранениеДанных И Не СтрокаДерева.ЭтоШтрихкодНоменклатуры;
Если Не ТребуетсяУточнение Если Не ТребуетсяУточнение
И Не ЗначениеЗаполнено(СтрокаДерева.Серия) И Не ЗначениеЗаполнено(СтрокаДерева.Серия)
@@ -483,7 +492,7 @@
И СтрокаДерева.ТипУпаковки = Перечисления.ТипыУпаковок.МультитоварнаяУпаковка Тогда И СтрокаДерева.ТипУпаковки = Перечисления.ТипыУпаковок.МультитоварнаяУпаковка Тогда
Для Каждого ВложеннаяСтрока Из СтрокаДерева.Строки Цикл Для Каждого ВложеннаяСтрока Из СтрокаДерева.Строки Цикл
ЗаполнитьТребующиеУточненияДанныеУпаковки(ВложеннаяСтрока, ДетализацияСтруктурыХранения); ЗаполнитьТребующиеУточненияДанныеУпаковки(ВложеннаяСтрока, ДетализацияСтруктурыХранения, РазрешитьСохранениеДанных);
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
@@ -491,7 +500,7 @@
Иначе Иначе
Для Каждого ВложеннаяСтрока Из СтрокаДерева.Строки Цикл Для Каждого ВложеннаяСтрока Из СтрокаДерева.Строки Цикл
ЗаполнитьТребующиеУточненияДанныеУпаковки(ВложеннаяСтрока, ДетализацияСтруктурыХранения); ЗаполнитьТребующиеУточненияДанныеУпаковки(ВложеннаяСтрока, ДетализацияСтруктурыХранения, РазрешитьСохранениеДанных);
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
@@ -522,7 +531,7 @@
&НаСервере &НаСервере
Функция НайтиСтрокуДереваПоКодуМаркировки(ДеревоУпаковок, КодМаркировки) Функция НайтиСтрокуДереваПоКодуМаркировки(ДеревоУпаковок, КодМаркировки)
Возврат ДеревоУпаковок.Строки.Найти(КодМаркировки, "ШтрихКод", Истина); Возврат ДеревоУпаковок.Строки.Найти(КодМаркировки, "Штрихкод", Истина);
КонецФункции КонецФункции
@@ -715,6 +724,16 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
СтруктураВозврата = ШтрихкодированиеИСКлиент.ИнициализацияСтруктурыДанныхСохраненногоВыбора();
СтруктураВозврата.Вставить("КодМаркировки", КодМаркировки);
СтруктураВозврата.Вставить("ЗапомнитьВыбор", ЗапомнитьВыбор);
Если ЗапомнитьВыбор Тогда
СтруктураВозврата.ДанныеВыбора.Агрегация = СохраненныйВыборПоТаблице();
Иначе
СтруктураВозврата.ДанныеВыбора = Неопределено;
КонецЕсли;
Закрыть(КодМаркировки); Закрыть(КодМаркировки);
КонецПроцедуры КонецПроцедуры
@@ -830,6 +849,36 @@
КонецФункции КонецФункции
&НаКлиенте
Функция СохраненныйВыборПоТаблице()
РезультатУточнения = Новый Массив;
УточненныеЭлементы = Новый Соответствие;
Для Каждого СтрокаТаблицы Из ДанныеДляУточнения Цикл
Если УточненныеЭлементы.Получить(СтрокаТаблицы.GTIN)<> Неопределено Тогда
Продолжить;
ИначеЕсли УточненныеЭлементы.Получить(СтрокаТаблицы.АлкогольнаяПродукция)<> Неопределено Тогда
Продолжить;
ИначеЕсли РазборКодаМаркировкиИССлужебныйКлиентСервер.ЭтоEANИлиGTIN(СтрокаТаблицы.Штрихкод) Тогда
Продолжить;
КонецЕсли;
Если ЗначениеЗаполнено(СтрокаТаблицы.GTIN) Тогда
УточненныеЭлементы.Вставить(СтрокаТаблицы.GTIN);
Иначе
УточненныеЭлементы.Вставить(СтрокаТаблицы.АлкогольнаяПродукция);
КонецЕсли;
СохраненныйВыборПоСтроке = ШтрихкодированиеИСКлиент.ИнициализацияСтруктурыДанныхСохраненногоВыбора();
ЗаполнитьЗначенияСвойств(СохраненныйВыборПоСтроке.ДанныеВыбора, СтрокаТаблицы);
СохраненныйВыборПоСтроке.ДанныеВыбора.ГоденДо = СтрокаТаблицы.СрокГодности;
РезультатУточнения.Добавить(ОбщегоНазначенияКлиент.СкопироватьРекурсивно(СохраненныйВыборПоСтроке.ДанныеВыбора));
КонецЦикла;
Возврат РезультатУточнения;
КонецФункции
&НаСервере &НаСервере
Функция ОбновитьИзмененныеОбъекты() Функция ОбновитьИзмененныеОбъекты()
@@ -991,7 +1040,7 @@
ОбновитьВложенныеДанныеУпаковокПоУпаковке(СтрокаРезультат, ВложенныйЭлемент, ГруппыКПересортировке); ОбновитьВложенныеДанныеУпаковокПоУпаковке(СтрокаРезультат, ВложенныйЭлемент, ГруппыКПересортировке);
КонецЦикла; КонецЦикла;
ЗаполнитьЗначенияСвойств(СтрокаДерева, СтрокаРезультат,,"Количество, Штрихкод, ВидУпаковки"); ЗаполнитьЗначенияСвойств(СтрокаДерева, СтрокаРезультат,,"Количество, Штрихкод, ВидУпаковки, GTIN");
Если СтрокаДерева.Родитель <> Неопределено Тогда Если СтрокаДерева.Родитель <> Неопределено Тогда
ГруппыКПересортировке.Вставить(СтрокаДерева.Родитель); ГруппыКПересортировке.Вставить(СтрокаДерева.Родитель);
@@ -203,6 +203,9 @@
<DataPath>АлкогольнаяПродукция</DataPath> <DataPath>АлкогольнаяПродукция</DataPath>
<ContextMenu name="АлкогольнаяПродукцияКонтекстноеМеню" id="276"/> <ContextMenu name="АлкогольнаяПродукцияКонтекстноеМеню" id="276"/>
<ExtendedTooltip name="АлкогольнаяПродукцияРасширеннаяПодсказка" id="277"/> <ExtendedTooltip name="АлкогольнаяПродукцияРасширеннаяПодсказка" id="277"/>
<Events>
<Event name="OnChange">АлкогольнаяПродукцияПриИзменении</Event>
</Events>
</InputField> </InputField>
<InputField name="Справка2" id="281"> <InputField name="Справка2" id="281">
<DataPath>Справка2</DataPath> <DataPath>Справка2</DataPath>
@@ -404,9 +404,18 @@
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
Если НавигационнаяСсылкаФорматированнойСтроки = "СкопироватьШтрихкодБуферОбмена" Тогда Если НавигационнаяСсылкаФорматированнойСтроки = "СкопироватьШтрихкодБуферОбмена" Тогда
ОбщегоНазначенияИСКлиент.СкопироватьШтрихКодВБуферОбмена(Элементы.БуферОбмена, ШтрихкодEAN); ОбщегоНазначенияИСКлиент.СкопироватьШтрихкодВБуферОбмена(Элементы.БуферОбмена, ШтрихкодEAN);
ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "СкопироватьКодМаркировкиВБуферОбмена" Тогда ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "СкопироватьКодМаркировкиВБуферОбмена" Тогда
ОбщегоНазначенияИСКлиент.СкопироватьШтрихКодВБуферОбмена(Элементы.БуферОбмена, КодМаркировки); ОбщегоНазначенияИСКлиент.СкопироватьШтрихкодВБуферОбмена(Элементы.БуферОбмена, КодМаркировки);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура АлкогольнаяПродукцияПриИзменении(Элемент)
Если Не ЗначениеЗаполнено(Номенклатура) И ЗначениеЗаполнено(АлкогольнаяПродукция) Тогда
АлкогольнаяПродукцияПриИзмененииСервер();
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -585,6 +594,25 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура АлкогольнаяПродукцияПриИзмененииСервер()
ТаблицаСопоставления = Новый ТаблицаЗначений;
ТаблицаСопоставления.Колонки.Добавить("АлкогольнаяПродукция",
Новый ОписаниеТипов(
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
ТипЗнч(АлкогольнаяПродукция))));
ДанныеСопоставления = ТаблицаСопоставления.Добавить();
ДанныеСопоставления.АлкогольнаяПродукция = АлкогольнаяПродукция;
Модуль = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияЕГАИС");
Модуль.ЗаполнитьСопоставленнуюПродукцию(ТаблицаСопоставления);
Если ЗначениеЗаполнено(ДанныеСопоставления.Номенклатура) Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеСопоставления);
НоменклатураПриИзмененииСервер();
КонецЕсли;
КонецПроцедуры
&НаСервере &НаСервере
Процедура ОбновитьОтображениеПоляКоличество() Процедура ОбновитьОтображениеПоляКоличество()
@@ -930,7 +958,7 @@
&НаСервере &НаСервере
Процедура ЗаполнитьИдентификаторыЕГАИС() Процедура ЗаполнитьИдентификаторыЕГАИС()
Если ЗапрашиватьАлкогольнуюПродукцию Тогда Если ЗапрашиватьАлкогольнуюПродукцию И Не ЗначениеЗаполнено(АлкогольнаяПродукция) Тогда
Модуль = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияЕГАИСКлиентСервер"); Модуль = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияЕГАИСКлиентСервер");
ПараметрыЗаполненияТабличнойЧасти = Модуль.ПараметрыЗаполненияТабличнойЧасти(); ПараметрыЗаполненияТабличнойЧасти = Модуль.ПараметрыЗаполненияТабличнойЧасти();
@@ -953,7 +981,7 @@
КонецЕсли; КонецЕсли;
Если ЗапрашиватьСправку2 Тогда Если ЗапрашиватьСправку2 И Не ЗначениеЗаполнено(Справка2) Тогда
СписокВыбора = РегистрыНакопления["ОстаткиАлкогольнойПродукцииЕГАИС"].Справки2ВНаличии(ПараметрыСканирования.ОрганизацияЕГАИС, АлкогольнаяПродукция); СписокВыбора = РегистрыНакопления["ОстаткиАлкогольнойПродукцииЕГАИС"].Справки2ВНаличии(ПараметрыСканирования.ОрганизацияЕГАИС, АлкогольнаяПродукция);
Элементы.Справка2.СписокВыбора.ЗагрузитьЗначения(СписокВыбора); Элементы.Справка2.СписокВыбора.ЗагрузитьЗначения(СписокВыбора);
@@ -3530,9 +3530,7 @@
Если МассивСвоихЛиц.Найти(СтруктураУчастник.Участник) = Неопределено Тогда Если МассивСвоихЛиц.Найти(СтруктураУчастник.Участник) = Неопределено Тогда
МассивСвоихЛиц.Добавить(СтруктураУчастник.Участник); МассивСвоихЛиц.Добавить(СтруктураУчастник.Участник);
КонецЕсли; КонецЕсли;
Если СтруктураУчастник.Участник = СобытиеОбъект.Ответственный Тогда Если СобытиеОбъект.СвоиЛица.Найти(СтруктураУчастник.Участник, "Лицо") = Неопределено Тогда
Продолжить;
ИначеЕсли СобытиеОбъект.СвоиЛица.Найти(СтруктураУчастник.Участник, "Лицо") = Неопределено Тогда
НоваяСтрока = СобытиеОбъект.СвоиЛица.Добавить(); НоваяСтрока = СобытиеОбъект.СвоиЛица.Добавить();
НоваяСтрока.Лицо = СтруктураУчастник.Участник; НоваяСтрока.Лицо = СтруктураУчастник.Участник;
НоваяСтрока.Адрес = СтруктураУчастник.Адрес; НоваяСтрока.Адрес = СтруктураУчастник.Адрес;
@@ -3568,13 +3566,11 @@
КонецПопытки; КонецПопытки;
Если ОбновляетсяСуществующийОбъект Тогда Если ОбновляетсяСуществующийОбъект Тогда
CRM_MSExchangeСерверЭкспортныеМетоды.ОбновитьChangeKeyВСоответствииОбъектовMSExchange(Настройка.УчетнаяЗапись, CRM_MSExchangeСерверЭкспортныеМетоды.ОбновитьChangeKeyВСоответствииОбъектовMSExchange(Настройка.УчетнаяЗапись,
СобытиеОбъект.Ссылка, СобытиеОбъект.Ссылка, СтрокаТаблицы.ChangeKey);
СтрокаТаблицы.ChangeKey);
Иначе Иначе
CRM_MSExchangeСерверЭкспортныеМетоды.ЗаписатьСоответствиеОбъектовMSExchange(Настройка.УчетнаяЗапись, CRM_MSExchangeСерверЭкспортныеМетоды.ЗаписатьСоответствиеОбъектовMSExchange(Настройка.УчетнаяЗапись,
СобытиеОбъект.Ссылка, СтрокаТаблицы.ID, СтрокаТаблицы.ChangeKey, СобытиеОбъект.Ссылка, СтрокаТаблицы.ID, СтрокаТаблицы.ChangeKey,
?(ЗначениеЗаполнено(ДатаВремяНачалаОбмена), ДатаВремяНачалаОбмена - 1, ?(ЗначениеЗаполнено(ДатаВремяНачалаОбмена), ДатаВремяНачалаОбмена - 1, Неопределено));
Неопределено));
КонецЕсли; КонецЕсли;
Возврат СобытиеОбъект.Ссылка; Возврат СобытиеОбъект.Ссылка;
КонецФункции КонецФункции
@@ -34,7 +34,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "CRMМодуль"; Описание.Имя = "CRMМодуль";
Описание.Версия = "3.1.36.27"; Описание.Версия = "3.1.36.45";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
КонецПроцедуры КонецПроцедуры
@@ -59,7 +59,7 @@
"ИмяПодсистемы, ИдентификаторИнтернетПоддержки, Версия", "ИмяПодсистемы, ИдентификаторИнтернетПоддержки, Версия",
?(CRM_ОбщегоНазначенияПовтИсп.ЭтоУХ(), "CRMМодульERP_УХ", "CRMМодуль"), ?(CRM_ОбщегоНазначенияПовтИсп.ЭтоУХ(), "CRMМодульERP_УХ", "CRMМодуль"),
?(CRM_ОбщегоНазначенияПовтИсп.ЭтоУХ(), "CRMModuleERP_UH", "CRMModuleERP"), ?(CRM_ОбщегоНазначенияПовтИсп.ЭтоУХ(), "CRMModuleERP_UH", "CRMModuleERP"),
"3.1.36.27")); // Версия Модуля CRM (см.в процедуре ПриДобавленииПодсистемы() данного модуля). "3.1.36.45")); // Версия Модуля CRM (см.в процедуре ПриДобавленииПодсистемы() данного модуля).
КонецПроцедуры КонецПроцедуры
@@ -607,8 +607,10 @@
| ВсеНастройкиСинхронизацииУчетнойЗаписи.КалендарьСотрудника КАК КалендарьСотрудника | ВсеНастройкиСинхронизацииУчетнойЗаписи.КалендарьСотрудника КАК КалендарьСотрудника
|ИЗ |ИЗ
| ДанныеСобытий КАК ДанныеСобытий | ДанныеСобытий КАК ДанныеСобытий
| ЛЕВОЕ СОЕДИНЕНИЕ ВсеНастройкиСинхронизацииУчетнойЗаписи КАК ВсеНастройкиСинхронизацииУчетнойЗаписи | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВсеНастройкиСинхронизацииУчетнойЗаписи КАК ВсеНастройкиСинхронизацииУчетнойЗаписи
| ПО ДанныеСобытий.Узел.Календарь = ВсеНастройкиСинхронизацииУчетнойЗаписи.КалендарьСотрудника | ПО ДанныеСобытий.Узел.Календарь = ВсеНастройкиСинхронизацииУчетнойЗаписи.КалендарьСотрудника
|ГДЕ
| ДанныеСобытий.Узел.Календарь = ВсеНастройкиСинхронизацииУчетнойЗаписи.КалендарьСотрудника
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ДанныеСобытий.Узел"); | ДанныеСобытий.Узел");
@@ -40,7 +40,7 @@
Описание.Имя = "КомплекснаяАвтоматизация_CRM"; Описание.Имя = "КомплекснаяАвтоматизация_CRM";
Описание.ИдентификаторИнтернетПоддержки = "ARAutomation"; Описание.ИдентификаторИнтернетПоддержки = "ARAutomation";
КонецЕсли; КонецЕсли;
Описание.Версия = "11.5.27.47"; Описание.Версия = "11.5.27.52";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
КонецПроцедуры КонецПроцедуры
@@ -11368,6 +11368,10 @@
ИЛИ НЕ (Источник.Ссылка.ДатаРождения = Источник.ДатаРождения) Тогда ИЛИ НЕ (Источник.Ссылка.ДатаРождения = Источник.ДатаРождения) Тогда
КорректироватьНапоминание = Истина; КорректироватьНапоминание = Истина;
КонецЕсли; КонецЕсли;
Если Источник.Владелец <> Источник.Ссылка.Владелец
И Источник.Ссылка.Владелец.CRM_ОсновноеКонтактноеЛицо = Источник.Ссылка Тогда
Источник.ДополнительныеСвойства.Вставить("ОчиститьОсновноеКЛПредыдущегоВладельца", Источник.Ссылка.Владелец);
КонецЕсли;
КонецЕсли; КонецЕсли;
CRM_СтатусыТемп = ""; CRM_СтатусыТемп = "";
@@ -11415,6 +11419,13 @@
Источник.ДополнительныеСвойства.КаналПервичногоИнтереса, Источник.ДополнительныеСвойства.КаналПервичногоИнтереса,
Источник.ДополнительныеСвойства.ИсточникПервичногоИнтереса); Источник.ДополнительныеСвойства.ИсточникПервичногоИнтереса);
КонецЕсли; КонецЕсли;
Если ТипЗнч(Источник) = Тип("СправочникОбъект.КонтактныеЛицаПартнеров")
И Источник.ДополнительныеСвойства.Свойство("ОчиститьОсновноеКЛПредыдущегоВладельца")
И ЗначениеЗаполнено(Источник.ДополнительныеСвойства.ОчиститьОсновноеКЛПредыдущегоВладельца) Тогда
ПВладелец = Источник.ДополнительныеСвойства.ОчиститьОсновноеКЛПредыдущегоВладельца.ПолучитьОбъект();
ПВладелец.CRM_ОсновноеКонтактноеЛицо = Неопределено;
ПВладелец.Записать();
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -34,7 +34,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "УправлениеТорговлей_CRM_2"; Описание.Имя = "УправлениеТорговлей_CRM_2";
Описание.Версия = "3.1.36.31"; Описание.Версия = "3.1.36.33";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ИдентификаторИнтернетПоддержки = "tradeCRM"; Описание.ИдентификаторИнтернетПоддержки = "tradeCRM";
@@ -60,7 +60,7 @@
"ИмяПодсистемы, ИдентификаторИнтернетПоддержки, Версия", "ИмяПодсистемы, ИдентификаторИнтернетПоддержки, Версия",
"УправлениеТорговлей", "УправлениеТорговлей",
"Trade", "Trade",
"11.5.27.47")); // Версия текущей подсистемы УТ (см. общий модуль ОбновлениеИнформационнойБазыУТ). "11.5.27.52")); // Версия текущей подсистемы УТ (см. общий модуль ОбновлениеИнформационнойБазыУТ).
КонецПроцедуры КонецПроцедуры
@@ -3976,9 +3976,13 @@
Справочники.CRM_ПравилаОбработкиОбращений.ПрименитьПравило(Письмо); Справочники.CRM_ПравилаОбработкиОбращений.ПрименитьПравило(Письмо);
КонецЕсли; КонецЕсли;
Если Не (ЗначениеЗаполнено(Письмо.Ответственный) Если Не (ЗначениеЗаполнено(Письмо.Ответственный)
ИЛИ (Не ЭтоИсходящееПисьмо И ЗначениеЗаполнено(Письмо.CRM_РольОтветственного))) Тогда Или (Не ЭтоИсходящееПисьмо И ЗначениеЗаполнено(Письмо.CRM_РольОтветственного))) Тогда
Письмо.Ответственный = ОтветственныйЗаОбработкуПисем; Письмо.Ответственный = ОтветственныйЗаОбработкуПисем;
Если ЗначениеЗаполнено(ПредметИПапка.Предмет) И ТипЗнч(ПредметИПапка.Предмет) = Тип("ДокументСсылка.ЭлектронноеПисьмоИсходящее") Тогда
Если ЗначениеЗаполнено(Письмо.ВзаимодействиеОснование) Тогда
Письмо.Ответственный = Письмо.ВзаимодействиеОснование.Ответственный;
ИначеЕсли ЗначениеЗаполнено(ПредметИПапка.Предмет) И ТипЗнч(ПредметИПапка.Предмет) = Тип("ДокументСсылка.ЭлектронноеПисьмоИсходящее") Тогда
Письмо.Ответственный = ПредметИПапка.Предмет.Ответственный; Письмо.Ответственный = ПредметИПапка.Предмет.Ответственный;
Иначе Иначе
@@ -1,4 +1,6 @@
// @strict-types 
// @strict-types
#Область СлужебныйПрограммныйИнтерфейс #Область СлужебныйПрограммныйИнтерфейс
@@ -125,6 +127,16 @@
Если Не Значение Тогда Если Не Значение Тогда
Отключить(); Отключить();
Возврат;
КонецЕсли;
Если ИспользоватьПолучениеПоКлючуДоступа() Тогда
Возврат;
КонецЕсли;
УчетныеЗаписиОтсутствуют = РегистрыСведений.УчетныеЗаписиЭДО.УчетныеЗаписиОтсутствуют();
Если УчетныеЗаписиОтсутствуют Тогда
ВключитьИспользованиеТокеновДоступа();
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -179,14 +191,18 @@
РезультатВключения = НовыйРезультатВключенияПоУчетнымЗаписямЭДО(); РезультатВключения = НовыйРезультатВключенияПоУчетнымЗаписямЭДО();
Если Не НастройкиЭДО.ЕстьПравоНастройкиОбмена(Истина) Тогда
Возврат РезультатВключения;
КонецЕсли;
ИдентификаторыПоИнтеграциямЭДО = УчетныеЗаписиЭДО.ИдентификаторыПоИнтеграциямЭДО(ИдентификаторыЭДО); ИдентификаторыПоИнтеграциямЭДО = УчетныеЗаписиЭДО.ИдентификаторыПоИнтеграциямЭДО(ИдентификаторыЭДО);
Если ЗначениеЗаполнено(ИдентификаторыПоИнтеграциямЭДО.ИдентификаторыДляЛокальногоЭДО) Тогда Если ЗначениеЗаполнено(ИдентификаторыПоИнтеграциямЭДО.ИдентификаторыДляЛокальногоЭДО) Тогда
ИспользоватьПолучениеПоТокенамДоступа = АвтоматическоеПолучениеЭДОПовтИсп.ИспользоватьПолучениеПоТокенамДоступа();
Если Не ИспользоватьПолучениеПоТокенамДоступа
И ДоступноПолучениеПоТокенам()
И ВключатьАвтоматически() Тогда
ИспользоватьПолучениеПоТокенамДоступа = ВключитьИспользованиеТокеновДоступа();
КонецЕсли;
РасшифрованныеМаркерыДляЛокальногоЭДО = ВыбратьРасшифрованныеМаркеры(РасшифрованныеМаркеры, ИдентификаторыЭДО); РасшифрованныеМаркерыДляЛокальногоЭДО = ВыбратьРасшифрованныеМаркеры(РасшифрованныеМаркеры, ИдентификаторыЭДО);
Если АвтоматическоеПолучениеЭДОПовтИсп.ИспользоватьПолучениеПоКлючуДоступа() Тогда Если АвтоматическоеПолучениеЭДОПовтИсп.ИспользоватьПолучениеПоКлючуДоступа() Тогда
@@ -194,7 +210,7 @@
РезультатВключения = ВключитьИспользованиеКлючаДоступаКСервисуЭДО(ИдентификаторыЭДО, РезультатВключения = ВключитьИспользованиеКлючаДоступаКСервисуЭДО(ИдентификаторыЭДО,
РасшифрованныеМаркерыДляЛокальногоЭДО); РасшифрованныеМаркерыДляЛокальногоЭДО);
ИначеЕсли АвтоматическоеПолучениеЭДОПовтИсп.ИспользоватьПолучениеПоТокенамДоступа() Тогда ИначеЕсли ИспользоватьПолучениеПоТокенамДоступа Тогда
РезультатВключения = ВключитьИспользованиеТокеновДоступаПоУчетнымЗаписямЭДО(ИдентификаторыЭДО, РезультатВключения = ВключитьИспользованиеТокеновДоступаПоУчетнымЗаписямЭДО(ИдентификаторыЭДО,
РасшифрованныеМаркерыДляЛокальногоЭДО); РасшифрованныеМаркерыДляЛокальногоЭДО);
@@ -245,6 +261,47 @@
#КонецОбласти // Использование #КонецОбласти // Использование
#Область Доступность
// Возвращаемое значение:
// Булево
Функция ДоступноПолучениеПоТокенам() Экспорт
Доступность = Ложь;
Возврат Доступность;
КонецФункции
#КонецОбласти
#Область АвтоматическоеВключение
// Параметры:
// ИдентификаторыЭДО - Массив из Строка
//
// Возвращаемое значение:
// Булево
Функция ВключатьАвтоматическиДляУчетныхЗаписейЭДО(ИдентификаторыЭДО) Экспорт
Доступность = ДоступноПолучениеПоТокенам();
Если Не Доступность Тогда
Возврат Ложь;
КонецЕсли;
ДоступнаПроверкаПодписи = ДоступнаПроверкаПодписи();
Если Не ДоступнаПроверкаПодписи Тогда
Возврат Ложь;
КонецЕсли;
ЕстьУчетныеЗаписи = УчетныеЗаписиЭДО.ЕстьУчетныеЗаписиЧерезСервис1СЭДО(ИдентификаторыЭДО);
Возврат ЕстьУчетныеЗаписи;
КонецФункции
#КонецОбласти
#Область КлючДоступаКСервисуЭДО #Область КлючДоступаКСервисуЭДО
// Параметры: // Параметры:
@@ -435,14 +492,14 @@
#КонецОбласти // Использование #КонецОбласти // Использование
#Область ПроверкаДоступности #Область Доступность
// Параметры: // Параметры:
// КонтекстДиагностики - см. ОбработкаНеисправностейБЭД.НовыйКонтекстДиагностики // КонтекстДиагностики - см. ОбработкаНеисправностейБЭД.НовыйКонтекстДиагностики
// //
// Возвращаемое значение: // Возвращаемое значение:
// Булево // Булево
Функция ПроверитьДоступность(КонтекстДиагностики = Неопределено) Функция ДоступнаПроверкаПодписи(КонтекстДиагностики = Неопределено)
Если ОбщегоНазначения.РазделениеВключено() Тогда Если ОбщегоНазначения.РазделениеВключено() Тогда
Возврат ДоступнаПроверкаПодписиВОблаке(КонтекстДиагностики); Возврат ДоступнаПроверкаПодписиВОблаке(КонтекстДиагностики);
@@ -479,6 +536,10 @@
// Булево // Булево
Функция ДоступнаПроверкаПодписиНаСервере(КонтекстДиагностики = Неопределено) Функция ДоступнаПроверкаПодписиНаСервере(КонтекстДиагностики = Неопределено)
Если КонтекстДиагностики = Неопределено Тогда
Возврат КриптографияБЭД.ДоступнаПроверкаПодписиНаСервере();
КонецЕсли;
МенеджерКриптографии = ЭлектроннаяПодпись.МенеджерКриптографии("", Ложь); МенеджерКриптографии = ЭлектроннаяПодпись.МенеджерКриптографии("", Ложь);
Если МенеджерКриптографии = Неопределено Тогда Если МенеджерКриптографии = Неопределено Тогда
Если КонтекстДиагностики <> Неопределено Тогда Если КонтекстДиагностики <> Неопределено Тогда
@@ -515,7 +576,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// См. ОбработкаНеисправностейБЭДКлиентСервер.НовоеОписаниеВидаОшибки // См. ОбработкаНеисправностейБЭДКлиентСервер.НовоеОписаниеВидаОшибки
Функция ВидОшибкиПроверкаПодписейНедоступна() Экспорт Функция ВидОшибкиПроверкаПодписейНедоступна()
ВидОшибки = ОбработкаНеисправностейБЭДКлиентСервер.НовоеОписаниеВидаОшибки(); ВидОшибки = ОбработкаНеисправностейБЭДКлиентСервер.НовоеОписаниеВидаОшибки();
ВидОшибки.Идентификатор = "ПроверкаПодписейНедоступна"; ВидОшибки.Идентификатор = "ПроверкаПодписейНедоступна";
@@ -567,6 +628,91 @@
#КонецОбласти #КонецОбласти
#Область АвтоматическоеВключение
// Параметры:
// Сертификаты - Массив из СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования
//
// Возвращаемое значение:
// Структура:
// * ЭтоВозобновление - Булево
// * ИдентификаторыЭДО - Массив из Строка
Функция ПараметрыАвтоматическогоВключения(Сертификаты) Экспорт
Результат = Новый Структура;
Результат.Вставить("ЭтоВозобновление", Ложь);
Результат.Вставить("ИдентификаторыЭДО", Новый Массив);
Если Не ДоступноПолучениеПоТокенам() Тогда
Возврат Результат;
КонецЕсли;
Использовать = АвтоматическоеПолучениеЭДОПовтИсп.ИспользоватьПолучениеПоКлючуДоступа()
Или АвтоматическоеПолучениеЭДОПовтИсп.ИспользоватьПолучениеПоТокенамДоступа();
ВключатьАвтоматически = ВключатьАвтоматически();
Если Не Использовать И Не ВключатьАвтоматически Тогда
Возврат Результат;
КонецЕсли;
ИдентификаторыЭДО = УчетныеЗаписиЭДО.ИдентификаторыУчетныхЗаписейЧерезСервис1СЭДОСертификатов(Сертификаты);
Если Использовать Тогда
Результат.ЭтоВозобновление = Истина;
Результат.ИдентификаторыЭДО =
РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.ОстановленоПоИдентификаторамЭДО(ИдентификаторыЭДО);
Возврат Результат;
КонецЕсли;
Если ВключатьАвтоматически Тогда
Результат.ИдентификаторыЭДО = ИдентификаторыЭДО;
Возврат Результат;
КонецЕсли;
Возврат Результат;
КонецФункции
// Возвращаемое значение:
// Булево
Функция ВключатьАвтоматически()
УстановитьПривилегированныйРежим(Истина);
ВключатьАвтоматически = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
КлючОбъектаНастроек(), КлючНастройкиВключатьАвтоматически(), Истина);
УстановитьПривилегированныйРежим(Ложь);
Возврат ВключатьАвтоматически;
КонецФункции
// Параметры:
// Значение - Булево
Процедура УстановитьВключатьАвтоматически(Значение) Экспорт
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(
КлючОбъектаНастроек(), КлючНастройкиВключатьАвтоматически(), Значение);
КонецПроцедуры
// Возвращаемое значение:
// Строка
Функция КлючОбъектаНастроек()
Возврат АвтоматическоеПолучениеЭДОКлиентСервер.ПолноеИмяПодсистемы();
КонецФункции
// Возвращаемое значение:
// Строка
Функция КлючНастройкиВключатьАвтоматически()
Возврат "ВключатьАвтоматически";
КонецФункции
#КонецОбласти
#Область КлючДоступаКСервисуЭДО #Область КлючДоступаКСервисуЭДО
// Возвращаемое значение: // Возвращаемое значение:
@@ -585,7 +731,7 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Булево // Булево
Функция ЕстьВозможностьПолучитьДокументыИзСервисаЭДО(КлючСинхронизации, КонтекстДиагностики) Экспорт Функция ЕстьВозможностьПолучитьДокументыИзСервисаЭДО(КлючСинхронизации, КонтекстДиагностики)
ПараметрыВыполненияОперации = СервисЭДО.НовыеПараметрыВыполненияОперацииСервиса(КлючСинхронизации); ПараметрыВыполненияОперации = СервисЭДО.НовыеПараметрыВыполненияОперацииСервиса(КлючСинхронизации);
ПараметрыВыполненияОперации.ПредставлениеОперации = ПараметрыВыполненияОперации.ПредставлениеОперации =
@@ -779,7 +925,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// Строка // Строка
Функция ВидОперацииВключениеИспользованияТокеновДоступаКСервисуЭДО() Экспорт Функция ВидОперацииВключениеИспользованияТокеновДоступаКСервисуЭДО()
Возврат НСтр("ru = 'Включение автоматического получения по токенам доступа к сервису ЭДО'"); Возврат НСтр("ru = 'Включение автоматического получения по токенам доступа к сервису ЭДО'");
@@ -807,7 +953,7 @@
КонтекстДиагностики = РезультатВключения.КонтекстДиагностики; КонтекстДиагностики = РезультатВключения.КонтекстДиагностики;
КонтекстДиагностики.ЗаголовокОперации = ВидОперацииВключениеИспользованияТокеновДоступаКСервисуЭДО(); КонтекстДиагностики.ЗаголовокОперации = ВидОперацииВключениеИспользованияТокеновДоступаКСервисуЭДО();
Использовать = ВключитьИспользованиеТокеновДоступа(КонтекстДиагностики); Использовать = АвтоматическоеПолучениеЭДОПовтИсп.ИспользоватьПолучениеПоТокенамДоступа();
Если Не Использовать Тогда Если Не Использовать Тогда
Возврат РезультатВключения; Возврат РезультатВключения;
КонецЕсли; КонецЕсли;
@@ -818,8 +964,7 @@
РасшифрованныйМаркер = РасшифрованныеМаркеры[ИдентификаторЭДО]; РасшифрованныйМаркер = РасшифрованныеМаркеры[ИдентификаторЭДО];
Если РасшифрованныйМаркер = Неопределено Тогда Если РасшифрованныйМаркер = Неопределено Тогда
Состояние = РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.УстановитьПризнакОстановки( Состояние = УстановитьПризнакОстановки(ИдентификаторЭДО, Истина);
ИдентификаторЭДО, Истина);
СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, Состояние); СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, Состояние);
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -830,8 +975,7 @@
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Состояние = РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.УстановитьПризнакОстановки( Состояние = УстановитьПризнакОстановки(ИдентификаторЭДО, Ложь);
ИдентификаторЭДО, Ложь);
СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, Состояние); СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, Состояние);
@@ -847,6 +991,21 @@
КонецФункции КонецФункции
// Параметры:
// ИдентификаторЭДО - Строка
// Значение - Булево
//
// Возвращаемое значение:
// См. РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.УстановитьПризнакОстановки
Функция УстановитьПризнакОстановки(ИдентификаторЭДО, Значение = Ложь)
УстановитьПривилегированныйРежим(Истина);
Состояние = РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.УстановитьПризнакОстановки(
ИдентификаторЭДО, Значение);
Возврат Состояние;
КонецФункции
// Параметры: // Параметры:
// КонтекстДиагностики - см. ОбработкаНеисправностейБЭД.НовыйКонтекстДиагностики // КонтекстДиагностики - см. ОбработкаНеисправностейБЭД.НовыйКонтекстДиагностики
// //
@@ -856,10 +1015,15 @@
Использовать = Ложь; Использовать = Ложь;
Если Не НастройкиЭДО.ИспользуетсяОбменЭлектроннымиДокументами(КонтекстДиагностики)
Или Не ДоступноПолучениеПоТокенам() Тогда
Возврат Использовать;
КонецЕсли;
ВключитьИспользованиеСервисаОблачнойПодписи(); ВключитьИспользованиеСервисаОблачнойПодписи();
ИспользованиеДоступно = ПроверитьДоступность(КонтекстДиагностики); ДоступнаПроверкаПодписи = ДоступнаПроверкаПодписи(КонтекстДиагностики);
Если Не ИспользованиеДоступно Тогда Если Не ДоступнаПроверкаПодписи Тогда
Возврат Использовать; Возврат Использовать;
КонецЕсли; КонецЕсли;
@@ -892,6 +1056,7 @@
Использовать = ИспользоватьПолучениеПоТокенамДоступа(); Использовать = ИспользоватьПолучениеПоТокенамДоступа();
Если Использовать Тогда Если Использовать Тогда
Константы.ИспользоватьАвтоматическоеПолучениеИзСервисаЭДОПоТокенам.Установить(Ложь); Константы.ИспользоватьАвтоматическоеПолучениеИзСервисаЭДОПоТокенам.Установить(Ложь);
УстановитьВключатьАвтоматически(Ложь);
ОбновитьПовторноИспользуемыеЗначения(); ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли; КонецЕсли;
Иначе Иначе
@@ -1182,7 +1347,7 @@
// * СостояниеПоИдентификаторамЭДО - см. РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.СостояниеПоИдентификаторамЭДО // * СостояниеПоИдентификаторамЭДО - см. РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.СостояниеПоИдентификаторамЭДО
// * ИтогДействийПоЭДО - см. ЭлектронныеДокументыЭДОКлиентСервер.НовыйИтогВыполненияДействийПоЭДО // * ИтогДействийПоЭДО - см. ЭлектронныеДокументыЭДОКлиентСервер.НовыйИтогВыполненияДействийПоЭДО
// * КонтекстДиагностики - см. ОбработкаНеисправностейБЭД.НовыйКонтекстДиагностики // * КонтекстДиагностики - см. ОбработкаНеисправностейБЭД.НовыйКонтекстДиагностики
Функция НовыйРезультатВариантаПолучения() Экспорт Функция НовыйРезультатВариантаПолучения()
Результат = Новый Структура; Результат = Новый Структура;
Результат.Вставить("СостояниеПоИдентификаторамЭДО", Новый Соответствие); Результат.Вставить("СостояниеПоИдентификаторамЭДО", Новый Соответствие);
@@ -1235,9 +1400,12 @@
МодульИнтеграцияЦентраЭДО.ВидОшибкиОтсутствуетОбластьЦентраЭДО()) Или ЕстьКритичнаяОшибка; МодульИнтеграцияЦентраЭДО.ВидОшибкиОтсутствуетОбластьЦентраЭДО()) Или ЕстьКритичнаяОшибка;
КонецЦикла; КонецЦикла;
ТекстОшибок = ?(Не ЕстьКритичнаяОшибка, "",
ОбработкаНеисправностейБЭД.ТекстОшибокКонтекстаДиагностики(КонтекстДиагностики));
Для Каждого ИдентификаторЭДО Из ИдентификаторыЭДО Цикл Для Каждого ИдентификаторЭДО Из ИдентификаторыЭДО Цикл
СостояниеПолучения = РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.Записать( СостояниеПолучения = РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.Записать(
ИдентификаторЭДО, ЕстьКритичнаяОшибка, ДатаНачала); ИдентификаторЭДО, ЕстьКритичнаяОшибка, ДатаНачала, Неопределено, ТекстОшибок);
СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, СостояниеПолучения); СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, СостояниеПолучения);
КонецЦикла; КонецЦикла;
@@ -1304,7 +1472,9 @@
РасшифрованныйМаркер = РасшифрованныйМаркерПоКлючуДоступа( РасшифрованныйМаркер = РасшифрованныйМаркерПоКлючуДоступа(
КлючДоступаКСервисуЭДО, ИдентификаторЭДО, Сертификаты[0], КонтекстДиагностики); КлючДоступаКСервисуЭДО, ИдентификаторЭДО, Сертификаты[0], КонтекстДиагностики);
Если РасшифрованныйМаркер.Данные = Неопределено Тогда Если РасшифрованныйМаркер.Данные = Неопределено Тогда
РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.Записать(ИдентификаторЭДО, Истина, ДатаНачала); ТекстОшибок = ОбработкаНеисправностейБЭД.ТекстОшибокКонтекстаДиагностики(КонтекстДиагностики);
РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.Записать(ИдентификаторЭДО, Истина, ДатаНачала,
Неопределено, ТекстОшибок);
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -1466,15 +1636,6 @@
КонецФункции КонецФункции
// Возвращаемое значение:
// Булево
Функция ДоступнаПроверкаПодписи()
Возврат КриптографияБЭД.ДоступнаПроверкаПодписиНаСервере()
Или КриптографияБЭД.ДоступнаПроверкаПодписиВОблаке();
КонецФункции
// Параметры: // Параметры:
// Результат - см. НовыйРезультатВариантаПолучения // Результат - см. НовыйРезультатВариантаПолучения
// ИдентификаторЭДО - Строка // ИдентификаторЭДО - Строка
@@ -1490,7 +1651,7 @@
ДатаНачала = ТекущаяДатаСеанса(); ДатаНачала = ТекущаяДатаСеанса();
Остановлено = Ложь; Остановлено = Ложь;
СостояниеПолучения = РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.Записать( СостояниеПолучения = РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.Записать(
ИдентификаторЭДО, ЕстьОшибки, ДатаНачала, Остановлено); ИдентификаторЭДО, ЕстьОшибки, ДатаНачала, Остановлено, ТекстСообщения);
Результат.СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, СостояниеПолучения); Результат.СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, СостояниеПолучения);
КонецПроцедуры КонецПроцедуры
@@ -1581,12 +1742,15 @@
Если РезультатПроверки.ЕстьКритичныеОшибки Тогда Если РезультатПроверки.ЕстьКритичныеОшибки Тогда
Остановлено = Истина; Остановлено = Истина;
ПричинаОстановки = СтрСоединить(РезультатПроверки.ПредставленияОшибок,
ОбщегоНазначения.РазделительПакетаЗапросов());
Иначе Иначе
Остановлено = Ложь; Остановлено = Ложь;
ПричинаОстановки = "";
КонецЕсли; КонецЕсли;
СостояниеПолучения = РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.Записать( СостояниеПолучения = РегистрыСведений.СостоянияАвтоматическогоПолученияЭДО.Записать(
ИдентификаторЭДО, РезультатПроверки.ЕстьОшибки, ДатаНачала, Остановлено); ИдентификаторЭДО, РезультатПроверки.ЕстьОшибки, ДатаНачала, Остановлено, ПричинаОстановки);
Результат.СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, СостояниеПолучения); Результат.СостояниеПоИдентификаторамЭДО.Вставить(ИдентификаторЭДО, СостояниеПолучения);
Если Не РезультатПроверки.ЕстьОшибки Тогда Если Не РезультатПроверки.ЕстьОшибки Тогда
@@ -13,6 +13,10 @@
// См. ДлительныеОперации.ВыполнитьФункцию // См. ДлительныеОперации.ВыполнитьФункцию
Функция ВключитьПоУчетнымЗаписямЭДОВФоне(Знач ИдентификаторыЭДО, Знач РасшифрованныеМаркеры, Знач ИдентификаторФормы = Неопределено) Экспорт Функция ВключитьПоУчетнымЗаписямЭДОВФоне(Знач ИдентификаторыЭДО, Знач РасшифрованныеМаркеры, Знач ИдентификаторФормы = Неопределено) Экспорт
Если ИдентификаторФормы = Неопределено Тогда
ИдентификаторФормы = Новый УникальныйИдентификатор;
КонецЕсли;
ПараметрыВыполненияВФоне = ДлительныеОперации.ПараметрыВыполненияФункции(ИдентификаторФормы); ПараметрыВыполненияВФоне = ДлительныеОперации.ПараметрыВыполненияФункции(ИдентификаторФормы);
// См. АвтоматическоеПолучениеЭДО.ВключитьПоУчетнымЗаписямЭДО // См. АвтоматическоеПолучениеЭДО.ВключитьПоУчетнымЗаписямЭДО
@@ -77,6 +81,12 @@
// См. АвтоматическоеПолучениеЭДО.Отключить // См. АвтоматическоеПолучениеЭДО.Отключить
Процедура Отключить(Знач ИдентификаторЭДО = Неопределено) Экспорт Процедура Отключить(Знач ИдентификаторЭДО = Неопределено) Экспорт
Если ИдентификаторЭДО = Неопределено Тогда
УстановитьПривилегированныйРежим(Истина);
АвтоматическоеПолучениеЭДО.УстановитьВключатьАвтоматически(Ложь);
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
АвтоматическоеПолучениеЭДО.Отключить(ИдентификаторЭДО); АвтоматическоеПолучениеЭДО.Отключить(ИдентификаторЭДО);
КонецПроцедуры КонецПроцедуры
@@ -93,6 +103,21 @@
#КонецОбласти #КонецОбласти
#Область АвтоматическоеВключение
// Параметры:
// Сертификаты - Массив из СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования
//
// Возвращаемое значение:
// См. АвтоматическоеПолучениеЭДО.ПараметрыАвтоматическогоВключения
Функция ПараметрыАвтоматическогоВключения(Знач Сертификаты) Экспорт
Возврат АвтоматическоеПолучениеЭДО.ПараметрыАвтоматическогоВключения(Сертификаты);
КонецФункции
#КонецОбласти
#Область Получение #Область Получение
// Параметры: // Параметры:
@@ -145,6 +145,49 @@
#КонецОбласти #КонецОбласти
#Область АвтоматическоеВключение
// Параметры:
// ОповещениеОЗавершении - ОписаниеОповещения
// ПаролиСертификатов - см. КриптографияБЭДКлиент.НовыеПаролиСертификатов
Процедура ВключитьПослеОтправкиПолученияДокументовЭДО(ОповещениеОЗавершении, ПаролиСертификатов) Экспорт
Контекст = НовыйКонтекстВключенияПослеОтправкиПолученияДокументовЭДО();
Контекст.ОповещениеОЗавершении = ОповещениеОЗавершении;
#Если МобильныйКлиент Тогда
ВключитьПослеОтправкиПолученияДокументовЭДОЗавершение(Неопределено, Контекст);
Возврат;
#КонецЕсли
Если Не ЗначениеЗаполнено(ПаролиСертификатов) Тогда
ВключитьПослеОтправкиПолученияДокументовЭДОЗавершение(Неопределено, Контекст);
Возврат;
КонецЕсли;
Сертификаты = ОбщегоНазначенияБЭДКлиент.ВыгрузитьКолонку(ПаролиСертификатов, "Ключ");
ПараметрыВключения = АвтоматическоеПолучениеЭДОВызовСервера.ПараметрыАвтоматическогоВключения(Сертификаты);
Если Не ЗначениеЗаполнено(ПараметрыВключения.ИдентификаторыЭДО) Тогда
ВключитьПослеОтправкиПолученияДокументовЭДОЗавершение(Неопределено, Контекст);
Возврат;
КонецЕсли;
Контекст.ЭтоВозобновление = ПараметрыВключения.ЭтоВозобновление;
Оповещение = Новый ОписаниеОповещения("ВключитьПослеОтправкиПолученияДокументовЭДОЗавершение",
ЭтотОбъект, Контекст);
ПараметрыАвторизации = УчетныеЗаписиЭДОКлиент.НовыеПараметрыАвторизацииВСервисеЭДО();
ПараметрыАвторизации.ИдентификаторыЭДО = ПараметрыВключения.ИдентификаторыЭДО;
ПараметрыАвторизации.ПаролиСертификатов = ПаролиСертификатов;
ВключитьПоУчетнымЗаписямЭДО(Оповещение, ПараметрыАвторизации);
КонецПроцедуры
#КонецОбласти
#Область СобытияОповещения #Область СобытияОповещения
// Параметры: // Параметры:
@@ -262,6 +305,62 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
#Область АвтоматическоеВключение
// Возвращаемое значение:
// Структура:
// * ОповещениеОЗавершении - см. ВключитьПослеОтправкиПолученияДокументовЭДО.ОповещениеОЗавершении
// * ЭтоВозобновление - Булево
Функция НовыйКонтекстВключенияПослеОтправкиПолученияДокументовЭДО()
Контекст = Новый Структура;
Контекст.Вставить("ОповещениеОЗавершении", Новый ОписаниеОповещения);
Контекст.Вставить("ЭтоВозобновление", Ложь);
Возврат Контекст;
КонецФункции
// Параметры:
// РезультатВключения - Неопределено
// - см. ВключитьПоУчетнымЗаписямЭДОЗавершение
// Контекст - см. НовыйКонтекстВключенияПослеОтправкиПолученияДокументовЭДО
//
// Возвращаемое значение:
// См. НовыйРезультатВключенияПослеОтправкиПолученияДокументовЭДО
Функция ВключитьПослеОтправкиПолученияДокументовЭДОЗавершение(РезультатВключения, Контекст) Экспорт
Результат = НовыйРезультатВключенияПослеОтправкиПолученияДокументовЭДО();
Если ЗначениеЗаполнено(РезультатВключения) Тогда
Результат.Успех = ЗначениеЗаполнено(РезультатВключения.ИзменениеСостояния);
Результат.КонтекстДиагностики = РезультатВключения.КонтекстДиагностики;
КонецЕсли;
Если Результат.Успех И Не Контекст.ЭтоВозобновление Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
НСтр("ru = 'Новые документы теперь будут загружаться автоматически сразу по мере поступления.'"));
КонецЕсли;
ВыполнитьОбработкуОповещения(Контекст.ОповещениеОЗавершении, Результат);
Возврат Результат;
КонецФункции
// Возвращаемое значение:
// Структура:
// * Успех - Булево
// * КонтекстДиагностики - см. ОбработкаНеисправностейБЭДКлиент.НовыйКонтекстДиагностики
Функция НовыйРезультатВключенияПослеОтправкиПолученияДокументовЭДО()
Результат = Новый Структура;
Результат.Вставить("Успех", Ложь);
Результат.Вставить("КонтекстДиагностики", ОбработкаНеисправностейБЭДКлиент.НовыйКонтекстДиагностики());
Возврат Результат;
КонецФункции
#КонецОбласти
#Область ПроверкаДоступности #Область ПроверкаДоступности
#Область Использование #Область Использование
@@ -594,7 +693,8 @@
Результат.Вставить("Итог", РезультатПолучения.ИтогДействийПоЭДО); Результат.Вставить("Итог", РезультатПолучения.ИтогДействийПоЭДО);
Результат.Вставить("ОшибкиФормирования", Новый Массив); Результат.Вставить("ОшибкиФормирования", Новый Массив);
Результат.Вставить("КонтекстДиагностики", РезультатПолучения.КонтекстДиагностики); Результат.Вставить("КонтекстДиагностики", РезультатПолучения.КонтекстДиагностики);
ИнтерфейсДокументовЭДОКлиент.ЗавершитьОтправкуПолучениеДокументовЭДО(Результат, Новый ОписаниеОповещения); Результат.Вставить("ПаролиСертификатов", КриптографияБЭДКлиент.НовыеПаролиСертификатов());
ИнтерфейсДокументовЭДОКлиент.ПослеОтправкиПолученияДокументовЭДО(Результат, Новый ОписаниеОповещения);
ИначеЕсли Не ПараметрыОжидания.ИспользоватьУведомленияКлиента Тогда ИначеЕсли Не ПараметрыОжидания.ИспользоватьУведомленияКлиента Тогда
Оповестить(ИнтерфейсДокументовЭДОКлиент.ИмяСобытияОбновленияТекущихДелЭДО()); Оповестить(ИнтерфейсДокументовЭДОКлиент.ИмяСобытияОбновленияТекущихДелЭДО());
КонецЕсли; КонецЕсли;
@@ -1,9 +1,5 @@
// @strict-types // @strict-types
#Область СлужебныйПрограммныйИнтерфейс
// @strict-types
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
#Область КлючДоступаКСервисуЭДО #Область КлючДоступаКСервисуЭДО
@@ -29,5 +25,3 @@
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
#КонецОбласти
@@ -55,8 +55,8 @@
И ДополнительныеПараметры.ДанныеВыбора.Количество() > 0 Тогда И ДополнительныеПараметры.ДанныеВыбора.Количество() > 0 Тогда
Форма.ДанныеВыбораПоМаркируемойПродукции = ДополнительныеПараметры.ДанныеВыбора; Форма.ДанныеВыбораПоМаркируемойПродукции = ДополнительныеПараметры.ДанныеВыбора;
Форма.ДанныеВыбораПоМаркируемойПродукции.Вставить("АлкогольнаяПродукция", ДанныеШтрихКода.АлкогольнаяПродукция); Форма.ДанныеВыбораПоМаркируемойПродукции.Вставить("АлкогольнаяПродукция", ДанныеШтрихкода.АлкогольнаяПродукция);
Форма.ДанныеВыбораПоМаркируемойПродукции.Вставить("ТипШтрихКода", ДанныеШтрихКода.ТипШтрихКода); Форма.ДанныеВыбораПоМаркируемойПродукции.Вставить("ТипШтрихкода", ДанныеШтрихкода.ТипШтрихкода);
Форма.СохраненВыборПоМаркируемойПродукции = Истина; Форма.СохраненВыборПоМаркируемойПродукции = Истина;
ШтрихкодированиеИСКлиентСервер.ОтобразитьСохраненныйВыборПоМаркируемойПродукции(Форма); ШтрихкодированиеИСКлиентСервер.ОтобразитьСохраненныйВыборПоМаркируемойПродукции(Форма);
@@ -1679,6 +1679,7 @@
НСтр("ru = 'Отчет о списании комиссионного товара'")); НСтр("ru = 'Отчет о списании комиссионного товара'"));
СписокВидовЭД.Добавить(Перечисления.ТипыДокументовЭДО.ПрайсЛист, НСтр("ru = 'Прайс-лист'")); СписокВидовЭД.Добавить(Перечисления.ТипыДокументовЭДО.ПрайсЛист, НСтр("ru = 'Прайс-лист'"));
СписокВидовЭД.Добавить(Перечисления.ТипыДокументовЭДО.СчетНаОплату, НСтр("ru = 'Счет на оплату'")); СписокВидовЭД.Добавить(Перечисления.ТипыДокументовЭДО.СчетНаОплату, НСтр("ru = 'Счет на оплату'"));
СписокВидовЭД.Добавить(Перечисления.ТипыДокументовЭДО.СчетОферта, НСтр("ru = 'Счет-оферта'"));
СписокВидовЭД.Добавить(Перечисления.ТипыДокументовЭДО.КоммерческоеПредложение, НСтр("ru = 'Коммерческое предложение'")); СписокВидовЭД.Добавить(Перечисления.ТипыДокументовЭДО.КоммерческоеПредложение, НСтр("ru = 'Коммерческое предложение'"));
СписокВидовЭД.Добавить(Перечисления.ТипыДокументовЭДО.ЗапросКоммерческихПредложений, СписокВидовЭД.Добавить(Перечисления.ТипыДокументовЭДО.ЗапросКоммерческихПредложений,
НСтр("ru = 'Запрос коммерческих предложений'")); НСтр("ru = 'Запрос коммерческих предложений'"));
@@ -2450,14 +2451,14 @@
ОтменитьВыполнениеЗадания(ИдентификаторЗадания); ОтменитьВыполнениеЗадания(ИдентификаторЗадания);
НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Отправка документов.'"); НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Отправка документов.'");
ИмяПроцедуры = "БизнесСеть.ОтправитьДанныеДокументовЧерезБизнесСеть";
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор); ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания; ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
ПараметрыВыполнения.ОжидатьЗавершение = 0; ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.ЗапуститьВФоне = Истина;
Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, ДополнительныеПараметры, ПараметрыВыполнения); Возврат ДлительныеОперации.ВыполнитьВФоне(
"БизнесСеть.ОтправитьДанныеДокументовЧерезБизнесСеть", ДополнительныеПараметры, ПараметрыВыполнения);
КонецФункции КонецФункции
@@ -2827,6 +2828,28 @@
#КонецОбласти #КонецОбласти
#Область ДляВызоваИзДругихПодсистем
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("АктуализироватьКэшДанныхКонтрагентов", Истина);
Методы.Вставить("ОтправитьДанныеДокументовЧерезБизнесСеть", Истина);
Методы.Вставить("ОбновитьИнформациюОНовыхДокументахВСервисе", Истина);
Методы.Вставить("ОтправитьУведомлениеОбОтправке", Истина);
Методы.Вставить("ОтправитьДокументИПолучитьQRКодЧерезБизнесСеть", Истина);
Методы.Вставить("ПолучитьQRКодыПоДокументам", Истина);
Методы.Вставить("ПолучитьДанныеДокументаПоQRКоду", Истина);
Методы.Вставить("ПодключитьОрганизациюПоКодуАктивацииВФоне", Истина);
Методы.Вставить("ПолучениеДокументовСервиса", Истина);
Методы.Вставить("ПодключитьОрганизациюПоТикетуИТСВФоне", Истина);
Методы.Вставить("УстановитьСтатусЗагружен", Истина);
Методы.Вставить("ЗагрузитьДокументы", Истина);
КонецПроцедуры
#КонецОбласти
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -3575,14 +3598,14 @@
Функция ОбновитьИнформациюОНовыхДокументахВСервисеАсинхронно(Знач ПараметрыОбновления) Экспорт Функция ОбновитьИнформациюОНовыхДокументахВСервисеАсинхронно(Знач ПараметрыОбновления) Экспорт
НаименованиеЗадания = НСтр("ru = 'Обновление информации о новых документах в сервисе ""1С:Бизнес-сеть"".'"); НаименованиеЗадания = НСтр("ru = 'Обновление информации о новых документах в сервисе ""1С:Бизнес-сеть"".'");
ИмяПроцедуры = "БизнесСеть.ОбновитьИнформациюОНовыхДокументахВСервисе";
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ПараметрыОбновления.ИдентификаторФормы); ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ПараметрыОбновления.ИдентификаторФормы);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания; ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
ПараметрыВыполнения.ОжидатьЗавершение = 0; ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.ЗапуститьВФоне = Истина;
Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, ПараметрыОбновления, ПараметрыВыполнения); Возврат ДлительныеОперации.ВыполнитьВФоне(
"БизнесСеть.ОбновитьИнформациюОНовыхДокументахВСервисе", ПараметрыОбновления, ПараметрыВыполнения);
КонецФункции КонецФункции
@@ -224,14 +224,14 @@
Функция ОтправкаУведомленияОбВыгрузкиДокумента(Знач УникальныйИдентификатор, Знач ДополнительныеПараметры) Экспорт Функция ОтправкаУведомленияОбВыгрузкиДокумента(Знач УникальныйИдентификатор, Знач ДополнительныеПараметры) Экспорт
НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Отправка документов.'"); НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Отправка документов.'");
ИмяПроцедуры = "БизнесСеть.ОтправитьУведомлениеОбОтправке";
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор); ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания; ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
ПараметрыВыполнения.ОжидатьЗавершение = 0; ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.ЗапуститьВФоне = Истина;
Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, ДополнительныеПараметры, ПараметрыВыполнения); Возврат ДлительныеОперации.ВыполнитьВФоне(
"БизнесСеть.ОтправитьУведомлениеОбОтправке", ДополнительныеПараметры, ПараметрыВыполнения);
КонецФункции КонецФункции
@@ -244,42 +244,42 @@
Функция ОтправлениеИПолучениеQRКодовЧерезБизнесСетьВФоне(Знач УникальныйИдентификатор, Знач ДополнительныеПараметры) Экспорт Функция ОтправлениеИПолучениеQRКодовЧерезБизнесСетьВФоне(Знач УникальныйИдентификатор, Знач ДополнительныеПараметры) Экспорт
НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Отправка документов и получение QR-кодов.'"); НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Отправка документов и получение QR-кодов.'");
ИмяПроцедуры = "БизнесСеть.ОтправитьДокументИПолучитьQRКодЧерезБизнесСеть";
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор); ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания; ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
ПараметрыВыполнения.ОжидатьЗавершение = 0; ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.ЗапуститьВФоне = Истина;
Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, ДополнительныеПараметры, ПараметрыВыполнения); Возврат ДлительныеОперации.ВыполнитьВФоне(
"БизнесСеть.ОтправитьДокументИПолучитьQRКодЧерезБизнесСеть", ДополнительныеПараметры, ПараметрыВыполнения);
КонецФункции КонецФункции
Функция ПолучениеQRКодовПоДокументамВФоне(Знач УникальныйИдентификатор, Знач ДополнительныеПараметры) Экспорт Функция ПолучениеQRКодовПоДокументамВФоне(Знач УникальныйИдентификатор, Знач ДополнительныеПараметры) Экспорт
НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Получение QR-кодов по документам.'"); НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Получение QR-кодов по документам.'");
ИмяПроцедуры = "БизнесСеть.ПолучитьQRКодыПоДокументам";
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор); ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания; ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
ПараметрыВыполнения.ОжидатьЗавершение = 0; ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.ЗапуститьВФоне = Истина;
Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, ДополнительныеПараметры, ПараметрыВыполнения); Возврат ДлительныеОперации.ВыполнитьВФоне(
"БизнесСеть.ПолучитьQRКодыПоДокументам", ДополнительныеПараметры, ПараметрыВыполнения);
КонецФункции КонецФункции
Функция ПолучитьДанныеДокументаПоQRКодуВФоне(Знач УникальныйИдентификатор, Знач ДополнительныеПараметры) Экспорт Функция ПолучитьДанныеДокументаПоQRКодуВФоне(Знач УникальныйИдентификатор, Знач ДополнительныеПараметры) Экспорт
НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Получение документа по QR-коду.'"); НаименованиеЗадания = НСтр("ru = '1С:Бизнес-сеть. Получение документа по QR-коду.'");
ИмяПроцедуры = "БизнесСеть.ПолучитьДанныеДокументаПоQRКоду";
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор); ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания; ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
ПараметрыВыполнения.ОжидатьЗавершение = 0; ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.ЗапуститьВФоне = Истина;
Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, ДополнительныеПараметры, ПараметрыВыполнения); Возврат ДлительныеОперации.ВыполнитьВФоне(
"БизнесСеть.ПолучитьДанныеДокументаПоQRКоду", ДополнительныеПараметры, ПараметрыВыполнения);
КонецФункции КонецФункции
@@ -330,9 +330,8 @@
ПараметрыВыполнения.ОжидатьЗавершение = 0; ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.ЗапуститьВФоне = Истина;
ИмяПроцедуры = "БизнесСеть.ПодключитьОрганизациюПоКодуАктивацииВФоне"; Возврат ДлительныеОперации.ВыполнитьВФоне(
"БизнесСеть.ПодключитьОрганизациюПоКодуАктивацииВФоне", ПараметрыПоиска, ПараметрыВыполнения);
Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, ПараметрыПоиска, ПараметрыВыполнения);
КонецФункции КонецФункции
@@ -339,6 +339,17 @@
#КонецОбласти #КонецОбласти
#Область ДляВызоваИзДругихПодсистем
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
Методы.Вставить("ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод", Истина);
КонецПроцедуры
#КонецОбласти
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -207,7 +207,7 @@
// //
// Параметры: // Параметры:
// Регистратор - ДокументСсылка - Регистратор, инициатор регистрации заданий (проводимый документ). // Регистратор - ДокументСсылка - Регистратор, инициатор регистрации заданий (проводимый документ).
// ТаблицаИзменений - см. ТаблицаКРаспределению // ТаблицаИзменений - см. ОперативныеВзаиморасчетыСервер.ТаблицаКРаспределению
Процедура ЗарегистрироватьИзмененияКОтложенномуРаспределению(Регистратор, ТаблицаИзменений) Экспорт Процедура ЗарегистрироватьИзмененияКОтложенномуРаспределению(Регистратор, ТаблицаИзменений) Экспорт
Для Каждого СтрокаИзменений Из ТаблицаИзменений Цикл Для Каждого СтрокаИзменений Из ТаблицаИзменений Цикл
@@ -219,13 +219,7 @@
НаборЗаписей.Отбор.ОбъектРасчетов.Установить(СтрокаИзменений.ОбъектРасчетов); НаборЗаписей.Отбор.ОбъектРасчетов.Установить(СтрокаИзменений.ОбъектРасчетов);
НаборЗаписей.Отбор.Валюта.Установить(СтрокаИзменений.Валюта); НаборЗаписей.Отбор.Валюта.Установить(СтрокаИзменений.Валюта);
Если СтрокаИзменений.ПорядокОперации = "" Тогда НаборЗаписей.Отбор.ДатаПересчета.Установить(СтрокаИзменений.ДатаНачалаПересчета);
ДатаИзменений = Дата(1,1,1);
Иначе
ДатаИзменений = Дата(Лев(СтрокаИзменений.ПорядокОперации, 8));
КонецЕсли;
НаборЗаписей.Отбор.ДатаПересчета.Установить(ДатаИзменений);
НаборЗаписей.Отбор.Документ.Установить(Регистратор); НаборЗаписей.Отбор.Документ.Установить(Регистратор);
НовСтр = НаборЗаписей.Добавить(); НовСтр = НаборЗаписей.Добавить();
@@ -233,7 +227,7 @@
НовСтр.АналитикаУчетаПоПартнерам = СтрокаИзменений.АналитикаУчетаПоПартнерам; НовСтр.АналитикаУчетаПоПартнерам = СтрокаИзменений.АналитикаУчетаПоПартнерам;
НовСтр.ОбъектРасчетов = СтрокаИзменений.ОбъектРасчетов; НовСтр.ОбъектРасчетов = СтрокаИзменений.ОбъектРасчетов;
НовСтр.Валюта = СтрокаИзменений.Валюта; НовСтр.Валюта = СтрокаИзменений.Валюта;
НовСтр.ДатаПересчета = ДатаИзменений; НовСтр.ДатаПересчета = СтрокаИзменений.ДатаНачалаПересчета;
НовСтр.Документ = Регистратор; НовСтр.Документ = Регистратор;
НовСтр.Приоритет = ?(СтрокаИзменений.ПоДаннымОбъектаРасчетовИсточника, 2, 1); НовСтр.Приоритет = ?(СтрокаИзменений.ПоДаннымОбъектаРасчетовИсточника, 2, 1);
НовСтр.КоличествоДокументов = 1; НовСтр.КоличествоДокументов = 1;
@@ -2053,7 +2053,6 @@
И ТипДокумента <> Перечисления.ТипыДокументовЭДО.ЗаказТовара И ТипДокумента <> Перечисления.ТипыДокументовЭДО.ЗаказТовара
И ТипДокумента <> Перечисления.ТипыДокументовЭДО.ОтчетОПродажахКомиссионногоТовара И ТипДокумента <> Перечисления.ТипыДокументовЭДО.ОтчетОПродажахКомиссионногоТовара
И ТипДокумента <> Перечисления.ТипыДокументовЭДО.ОтчетОСписанииКомиссионногоТовара И ТипДокумента <> Перечисления.ТипыДокументовЭДО.ОтчетОСписанииКомиссионногоТовара
И ТипДокумента <> Перечисления.ТипыДокументовЭДО.АктОРасхождениях
И ТипДокумента <> Перечисления.ТипыДокументовЭДО.КонтрактЕИС; И ТипДокумента <> Перечисления.ТипыДокументовЭДО.КонтрактЕИС;
КонецФункции КонецФункции
@@ -2121,6 +2120,8 @@
Возврат РезультатФормирования; Возврат РезультатФормирования;
КонецЕсли; КонецЕсли;
НаВизуализацииПрисутствуетQRКод = Ложь;
ПараметрыПреобразования = Новый Структура; ПараметрыПреобразования = Новый Структура;
ПараметрыПреобразования.Вставить("ИтоговыйФормат", "ТабличныйДокумент"); ПараметрыПреобразования.Вставить("ИтоговыйФормат", "ТабличныйДокумент");
ПараметрыПреобразования.Вставить("ИсходныйФормат", ПараметрыДокумента.ИсходныйФормат); ПараметрыПреобразования.Вставить("ИсходныйФормат", ПараметрыДокумента.ИсходныйФормат);
@@ -2128,6 +2129,8 @@
ПараметрыПреобразования.Вставить("ВариантЗаполнения", ВариантЗаполнения); ПараметрыПреобразования.Вставить("ВариантЗаполнения", ВариантЗаполнения);
Если ПараметрыДокумента.Свойство("ПараметрыПредставления") Тогда Если ПараметрыДокумента.Свойство("ПараметрыПредставления") Тогда
ПараметрыПреобразования.Вставить("ПараметрыXSL", ПараметрыДокумента.ПараметрыПредставления); ПараметрыПреобразования.Вставить("ПараметрыXSL", ПараметрыДокумента.ПараметрыПредставления);
НаВизуализацииПрисутствуетQRКод = ЗначениеЗаполнено(ОбщегоНазначенияКлиентСервер.
СвойствоСтруктуры(ПараметрыДокумента.ПараметрыПредставления, "ПубличнаяСсылкаQRКода"));
КонецЕсли; КонецЕсли;
Если ТипЗнч(ФайлXML) = Тип("Строка") Тогда Если ТипЗнч(ФайлXML) = Тип("Строка") Тогда
@@ -2150,6 +2153,12 @@
РезультатФормирования.ПредставлениеДокумента = ТабличныйДокумент; РезультатФормирования.ПредставлениеДокумента = ТабличныйДокумент;
РезультатФормирования.Успех = (ТабличныйДокумент <> Неопределено); РезультатФормирования.Успех = (ТабличныйДокумент <> Неопределено);
Если РезультатФормирования.Успех
И ТипЗнч(ТабличныйДокумент) = Тип("ТабличныйДокумент")
И НаВизуализацииПрисутствуетQRКод Тогда
ЗаменитьТекстQRКодаКартинкой(ТабличныйДокумент.Рисунки);
КонецЕсли;
Возврат РезультатФормирования; Возврат РезультатФормирования;
КонецФункции КонецФункции
@@ -2166,6 +2175,37 @@
Возврат ДвоичныеДанныеФайла.Размер(); Возврат ДвоичныеДанныеФайла.Размер();
КонецФункции КонецФункции
// Заменяет рисунки с типом текст на рисунок с типом картинка если в тексте указано что это КартинкаQRКода.
// Параметры:
// РисункиТабличногоДокумента - КоллекцияРисунковТабличногоДокумента
Процедура ЗаменитьТекстQRКодаКартинкой(РисункиТабличногоДокумента)
РисункиДляУдаления = Новый Массив(); //Массив из РисунокТабличногоДокумента
Для Каждого Рисунок Из РисункиТабличногоДокумента Цикл
Если Не Рисунок.ТипРисунка = ТипРисункаТабличногоДокумента.Текст Тогда
Продолжить;
КонецЕсли;
Если Не СтрНачинаетсяС(Рисунок.Текст, "КартинкаQRКода") Тогда
Продолжить;
КонецЕсли;
РисункиДляУдаления.Добавить(Рисунок);
КонецЦикла;
Для Каждого РисунокДляУдаления Из РисункиДляУдаления Цикл
РисунокДляДобавления = РисункиТабличногоДокумента.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ЗаполнитьЗначенияСвойств(РисунокДляДобавления, РисунокДляУдаления);
РисунокДляДобавления.Имя = РисунокДляУдаления.Текст;
РисункиТабличногоДокумента.Удалить(РисунокДляУдаления);
КонецЦикла;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -168,20 +168,9 @@
Функция ДоступноПолеАдрес(ВидПродукцииТоварнаяГруппа, Причина) Экспорт Функция ДоступноПолеАдрес(ВидПродукцииТоварнаяГруппа, Причина) Экспорт
Если КонструкторИСМПОбщегоНазначенияКлиентСервер.ЭлементКонструктораСодержитЗначение(
ПредопределенноеЗначение(
"Справочник.ЭлементыКонструктораВидовПродукцииИС.ПолеАдрес"),
ВидПродукцииТоварнаяГруппа) Тогда
Возврат КонструкторИСМПОбщегоНазначенияКлиентСервер.ЭлементКонструктораСодержитЗначение( Возврат КонструкторИСМПОбщегоНазначенияКлиентСервер.ЭлементКонструктораСодержитЗначение(
ПредопределенноеЗначение( ПредопределенноеЗначение(
"Справочник.ЭлементыКонструктораВидовПродукцииИС.ПолеАдрес"), "Справочник.ЭлементыКонструктораВидовПродукцииИС.ПолеАдрес"), ВидПродукцииТоварнаяГруппа, Причина);
ВидПродукцииТоварнаяГруппа,
Причина);
КонецЕсли;
Возврат Истина;
КонецФункции КонецФункции
@@ -225,6 +214,39 @@
КонецФункции КонецФункции
#КонецОбласти Функция ДоступнаРегистрацияМОДВГИСМТ(ВидПродукцииТоварнаяГруппа) Экспорт
Возврат КонструкторИСМПОбщегоНазначенияКлиентСервер.ЭлементКонструктораСодержитЗначение(
ПредопределенноеЗначение(
"Справочник.ЭлементыКонструктораВидовПродукцииИС.ДоступнаРегистрацияМОДВГИСМТ"),
ВидПродукцииТоварнаяГруппа);
КонецФункции
#КонецОбласти
Функция ПараметрыУказанияМОД(Организация, ВидПродукцииТоварнаяГруппа, Причина) Экспорт
ПараметрыМОД = Новый Структура;
ПараметрыМОД.Вставить("ВозможноУказаниеМОД", Ложь);
ПараметрыМОД.Вставить("ОбязательноУказаниеМОД", Ложь);
ПараметрыМОД.Вставить("ПодконтрольныеОбъектыВетИС", Ложь);
ПараметрыМОД.ВозможноУказаниеМОД = ДоступноПолеАдрес(ВидПродукцииТоварнаяГруппа, Причина);
Если ИмеютсяПодконтрольныеОбъектыВетИС(Организация) Тогда
ПараметрыМОД.ОбязательноУказаниеМОД = Истина;
ПараметрыМОД.ПодконтрольныеОбъектыВетИС = Истина;
Иначе
ПараметрыМОД.ОбязательноУказаниеМОД = ПроверятьЗаполнениеПоляАдрес(ВидПродукцииТоварнаяГруппа, Причина);
КонецЕсли;
Возврат ПараметрыМОД;
КонецФункции
Функция ИмеютсяПодконтрольныеОбъектыВетИС(Организация) Экспорт
Возврат ОбщегоНазначенияИСКлиентСерверПовтИсп.ОрганизацияИмеетПодконтрольныеОбъектыВЕТИС(Организация);
КонецФункции
#КонецОбласти #КонецОбласти
@@ -91,10 +91,12 @@
Возврат; Возврат;
ИначеЕсли Форма.ДанныеВыбораПоМаркируемойПродукции = Неопределено Тогда ИначеЕсли Форма.ДанныеВыбораПоМаркируемойПродукции = Неопределено Тогда
Возврат; Возврат;
ИначеЕсли Не Форма.ЗагрузкаДанныхТСД.Свойство("Всего") Тогда //ЕГАИС
Возврат;
КонецЕсли; КонецЕсли;
Если Форма.ДанныеВыбораПоМаркируемойПродукции.Агрегация <> Неопределено Тогда
ПрименитьСохраненныйВыборПриУточненииУпаковки(Форма, ДанныеШтрихкода, ПараметрыСканирования);
Возврат
КонецЕсли;
// Сохранение выбора в параметры сканирования // Сохранение выбора в параметры сканирования
ПараметрыСканирования.ДанныеВыбораПоМаркируемойПродукции = Форма.ДанныеВыбораПоМаркируемойПродукции; ПараметрыСканирования.ДанныеВыбораПоМаркируемойПродукции = Форма.ДанныеВыбораПоМаркируемойПродукции;
@@ -369,6 +371,95 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// Работа с сохраненным выбором при загрузке агрегатов:
// * Переносит данные сохраненного выбора (подходящая по GTIN строка) в коды маркировки, требующие уточнения данных.
// * Не учитывает требующее маркировки количество для сброса сохраненного выбора.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма в которой происходит пакетная загрузка данных
// ДанныеШтрихкода - См. ШтрихкодированиеОбщегоНазначенияИС.ИнициализироватьДанныеШтрихкода
// ПараметрыСканирования - См. ШтрихкодированиеОбщегоНазначенияИСКлиент.ПараметрыСканирования
//
Процедура ПрименитьСохраненныйВыборПриУточненииУпаковки(Форма, ДанныеШтрихкода, ПараметрыСканирования)
// Сохранение выбора в параметры сканирования
ПараметрыСканирования.ДанныеВыбораПоМаркируемойПродукции = Форма.ДанныеВыбораПоМаркируемойПродукции;
// Определение состава полей для отбора
СохраненныйВыбор = Форма.ДанныеВыбораПоМаркируемойПродукции.Агрегация;
ПоляПоиска = Новый Структура;
ПоляПоиска.Вставить("Номенклатура");
ПоляПоиска.Вставить("Характеристика");
ПоляПоиска.Вставить("Серия");
Если ШтрихкодированиеОбщегоНазначенияИСКлиентСервер.ЗаполнятьДанныеВЕТИС(ПараметрыСканирования) Тогда
ПоляПоиска.Вставить("ИдентификаторПроисхожденияВЕТИС");
КонецЕсли;
Если ШтрихкодированиеОбщегоНазначенияИСКлиентСервер.ЗаполнятьСрокГодности(ПараметрыСканирования) Тогда
ПоляПоиска.Вставить("ГоденДо");
КонецЕсли;
Пакет = Форма.ЗагрузкаДанныхТСД;
ВсегоКодовМаркировки = Пакет.Всего;
// При обработке кода маркировки в форме документа изменения применяются мгновенно,
// поэтому поле Обработано содержит точное количество обработанных кодов.
// В форме проверки и подбора обработка кода происходит отложенно, вместе с обработкой остальных кодов.
Обработано = Пакет.Обработано;
Если Форма.ИмяФормы = "Обработка.ПроверкаИПодборПродукцииИС.Форма.ПроверкаИПодбор" Тогда
Обработано = Пакет.Обработано - 1;
КонецЕсли;
ПоляИсключения = Новый Массив;
ПоляИсключения.Добавить("Количество");
ПоляИсключения.Добавить("ВидУпаковки");
ПоляИсключения.Добавить("ВидПродукции");
ПоляИсключения = СтрСоединить(ПоляИсключения, ",");
ОбновляемыеШтрихкодыУпаковок = Новый Массив;
ЗаполняемыйКодМаркировки = Обработано;
Пока ЗаполняемыйКодМаркировки <> ВсегоКодовМаркировки Цикл
РезультатОбработки = Пакет.ШтрихкодыТСД[ЗаполняемыйКодМаркировки].РезультатОбработки;
Если РезультатОбработки <> Неопределено Тогда
Если Не (РезультатОбработки.ТребуетсяУточнениеДанных Или РезультатОбработки.ТребуетсяВыборСерии) Тогда
Продолжить;
КонецЕсли;
СтрокаШтрихкод = РезультатОбработки.ДанныеШтрихкода;
Если СтрокаШтрихкод <> Неопределено Тогда
Для Каждого ВариантВыбора Из СохраненныйВыбор Цикл
КодСоответствуетВыбору = Истина;
Для Каждого КлючИЗначение Из ПоляПоиска Цикл
КодСоответствуетВыбору = КодСоответствуетВыбору
И (ВариантВыбора[КлючИЗначение.Ключ] = СтрокаШтрихкод[КлючИЗначение.Ключ]
Или Не ЗначениеЗаполнено(СтрокаШтрихкод[КлючИЗначение.Ключ]));
КонецЦикла;
Если Не ЗначениеЗаполнено(СтрокаШтрихкод.Номенклатура) Тогда
КодСоответствуетВыбору = КодСоответствуетВыбору И ВариантВыбора.GTIN = СтрокаШтрихкод.GTIN;
КонецЕсли;
Если КодСоответствуетВыбору Тогда
ЗаполнитьЗначенияСвойств(ДанныеШтрихкода, ВариантВыбора,, ПоляИсключения);
РезультатОбработки.ТребуетсяУточнениеДанных = Ложь;
РезультатОбработки.ТребуетсяВыборСерии = Ложь;
ОбновляемыеШтрихкодыУпаковок.Добавить(СтрокаШтрихкод);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
ЗаполняемыйКодМаркировки = ЗаполняемыйКодМаркировки + 1;
КонецЦикла;
// Требуется обновить существующие элементы справочника ШтрихкодыУпаковокТоваров как при уточнении данных
Если ОбновляемыеШтрихкодыУпаковок.Количество() Тогда
ШтрихкодированиеИСВызовСервера.ОбработатьГрупповоеУточнениеДанных(
СохраненныйВыбор, ОбновляемыеШтрихкодыУпаковок, ПараметрыСканирования);
КонецЕсли;
КонецПроцедуры
// Возвращает текст заголовка оповещения для ТСД. // Возвращает текст заголовка оповещения для ТСД.
// //
// Возвращаемое значение: // Возвращаемое значение:
@@ -2698,7 +2698,7 @@
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов, | НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторПлатежа, | НЕОПРЕДЕЛЕНО КАК ИдентификаторПлатежа,
| НЕОПРЕДЕЛЕНО КАК ДатаАвансовогоОтчета, | НЕОПРЕДЕЛЕНО КАК ДатаАвансовогоОтчета,
| НЕОПРЕДЕЛЕНО КАК ПеречислениеВБюджет, | ЛОЖЬ КАК ПеречислениеВБюджет,
| НЕОПРЕДЕЛЕНО КАК ТипНалога, | НЕОПРЕДЕЛЕНО КАК ТипНалога,
| НЕОПРЕДЕЛЕНО КАК НДФЛПоВедомостям, | НЕОПРЕДЕЛЕНО КАК НДФЛПоВедомостям,
| НЕОПРЕДЕЛЕНО КАК РегистрацияВНалоговомОргане, | НЕОПРЕДЕЛЕНО КАК РегистрацияВНалоговомОргане,
@@ -2803,6 +2803,17 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
//++ Локализация
Если ДанныеЗаполнения.ИННПлательщика = Неопределено Тогда
РеквизитыПлательщика = ДенежныеСредстваСерверЛокализация.РеквизитыПлательщика(ДанныеЗаполнения, ТекущаяДатаСеанса());
ДанныеЗаполнения.ИННПлательщика = РеквизитыПлательщика.ИННПлательщика;
ДанныеЗаполнения.КПППлательщика = РеквизитыПлательщика.КПППлательщика;
ДанныеЗаполнения.ТекстПлательщика = РеквизитыПлательщика.ТекстПлательщика;
КонецЕсли;
//-- Локализация
Если ДанныеЗаполнения.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.КонвертацияВалюты Тогда Если ДанныеЗаполнения.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.КонвертацияВалюты Тогда
СтруктураПараметров = ПараметрыЗаполненияБанковскогоСчетаОрганизации(); СтруктураПараметров = ПараметрыЗаполненияБанковскогоСчетаОрганизации();
СтруктураПараметров.Организация = ДанныеЗаполнения.Организация; СтруктураПараметров.Организация = ДанныеЗаполнения.Организация;
@@ -1900,7 +1900,15 @@
// Возвращает реквизиты плательщика для указанного объекта. // Возвращает реквизиты плательщика для указанного объекта.
// //
// Параметры: // Параметры:
// Объект - ДокументОбъект.ЗаявкаНаРасходованиеДенежныхСредств, ДокументОбъект.СписаниеБезналичныхДенежныхСредств, ДанныеФормыСтруктура - документ оплаты. // Объект - ДокументОбъект.ЗаявкаНаРасходованиеДенежныхСредств,
// ДокументОбъект.СписаниеБезналичныхДенежныхСредств - документ оплаты.
// - ДанныеФормыСтруктура - структура с данными документа.
// - Структура - данные плательщика и платежа:
// * Организация - СправочникСсылка.Организации - плательщик.
// * БанковскийСчет - СправочникСсылка.БанковскиеСчетаОрганизаций - банковский счет плательщика.
// * ПеречислениеВБюджет - Булево - признак перечисления денежных средств в бюджет.
// * ТипНалога - СправочникСсылка.ВидыНалоговВзносов - тип налога при перечислении в бюджет, используется при Истина в ПеречислениеВБюджет.
// * КодБК - Строка - КБК при перечислении в бюджет, используется при Истина в ПеречислениеВБюджет.
// Дата - Дата - дата, на которую формируются реквизиты // Дата - Дата - дата, на которую формируются реквизиты
// //
// Возвращаемое значение: // Возвращаемое значение:
@@ -12,6 +12,66 @@
КонецФункции КонецФункции
// Процедура проверяет реквизит дерева на ограничения по длине
//
// Параметры:
// ДеревоДанных - ДеревоЗначений, СтрокаДереваЗначений - Дерево данных
// Ошибки - Неопределено, Массив из Структура - ошибки, накопленные за время обработки. см. ОбщегоНазначенияБЭДКлиентСервер.НовыеПараметрыОшибки.
// ПолноеИмяРеквизита - Строка - Полное имя реквизита
// МинимальнаяДлина - Число - Минимальная длина
// МаксимальнаяДлина - Число - Максимальная длина
// НомерСтроки - Неопределено, Число - Номер строки
//
Процедура ПроверитьДлинуСтрокиЗначенияДерева(ДеревоДанных, Ошибки, ПолноеИмяРеквизита,
МинимальнаяДлина, МаксимальнаяДлина, НомерСтроки = Неопределено) Экспорт
РеквизитСтрокаДерева = Неопределено;
Реквизит = ЗначениеРеквизитаВДереве(ДеревоДанных, ПолноеИмяРеквизита, Ложь, РеквизитСтрокаДерева);
Если ЗначениеЗаполнено(Реквизит) Тогда
Если СтрДлина(Реквизит) < МинимальнаяДлина Или МаксимальнаяДлина < СтрДлина(Реквизит) Тогда
ТекстОшибки = "";
Если МинимальнаяДлина = МаксимальнаяДлина Тогда
ШаблонОшибки = НСтр("ru = 'длина значения должна быть равна %1, указано %2'");
ТекстОшибки = СтрШаблон(ШаблонОшибки, МинимальнаяДлина, СокрЛП(Реквизит));
Иначе
ШаблонОшибки = НСтр("ru = 'значение должно содержать от %1 до %2 символов, указано %3'");
ТекстОшибки = СтрШаблон(ШаблонОшибки, МинимальнаяДлина, МаксимальнаяДлина, СокрЛП(Реквизит));
КонецЕсли;
ДобавитьОшибкуПроверкиДереваДанных(Ошибки, РеквизитСтрокаДерева, ТекстОшибки,, НомерСтроки);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
// Процедура проверяет на заполненность реквизит дерева
//
// Параметры:
// ДеревоДанных - СтрокаДереваЗначений - Дерево данных
// Ошибки - Неопределено
// - Массив Из см. ОбщегоНазначенияБЭДКлиентСервер.НовыеПараметрыОшибки
// ПолноеИмяРеквизита - Строка - Полное имя реквизита
// НомерСтроки - Неопределено, Число - Номер строки
//
Процедура ПроверитьЗаполненностьЗначенияДерева(ДеревоДанных, Ошибки, ПолноеИмяРеквизита, НомерСтроки = Неопределено) Экспорт
РеквизитСтрокаДерева = Неопределено;
Реквизит = ЗначениеРеквизитаВДереве(ДеревоДанных, ПолноеИмяРеквизита, Ложь, РеквизитСтрокаДерева);
Если Не ЗначениеЗаполнено(Реквизит) Тогда
ДобавитьОшибкуПроверкиДереваДанных(Ошибки, РеквизитСтрокаДерева,
ТекстОшибкиНеЗаполненногоЗначенияДерева(),, НомерСтроки);
КонецЕсли;
КонецПроцедуры
// Очищает значение в дереве данных. // Очищает значение в дереве данных.
// //
// Параметры: // Параметры:
@@ -403,8 +463,12 @@
КонецЕсли; КонецЕсли;
НомерУровня = СтрЧислоВхождений(ИмяРеквизита, ".") + 1; НомерУровня = СтрЧислоВхождений(ИмяРеквизита, ".") + 1;
СтрокаДерева.ПолныйПуть = ИмяРеквизита; СтрокаДерева.ПолныйПуть = ИмяРеквизита;
СтрокаДерева["Уровень" + НомерУровня] = ЭлектронноеВзаимодействие.НазваниеКолонки(ИмяРеквизита); СтрокаДерева["Уровень" + НомерУровня] = НазваниеКолонки(ИмяРеквизита);
Если ТипЗнч(ЗначениеРеквизита) = Тип("ДеревоЗначений") Тогда
СтрокаДерева.Значение = ЗначениеРеквизита.Скопировать();
Иначе
СтрокаДерева.Значение = ЗначениеРеквизита; СтрокаДерева.Значение = ЗначениеРеквизита;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -811,8 +875,10 @@
Процедура ПроверитьЗаполнениеРеквизитовДереваДанныхРекурсивно(ДеревоДанных, Ошибки, ДатаПоФорматуФНС = Ложь) Экспорт Процедура ПроверитьЗаполнениеРеквизитовДереваДанныхРекурсивно(ДеревоДанных, Ошибки, ДатаПоФорматуФНС = Ложь) Экспорт
ДеревоЭлектронногоДокументаБЭДСлужебный.ПроверитьЗаполнениеРеквизитовДереваДанных( ПараметрыПроверки = ДеревоЭлектронногоДокументаБЭДСлужебный.НовыеПараметрыПроверкиДереваДанных();
ДеревоДанных, Ошибки, Ложь, , , ДатаПоФорматуФНС); ПараметрыПроверки.Вставить("ДатаПоФорматуФНС", ДатаПоФорматуФНС);
ДеревоЭлектронногоДокументаБЭДСлужебный.ПроверитьЗаполнениеРеквизитовДереваДанных(ДеревоДанных, Ошибки,,, ПараметрыПроверки);
КонецПроцедуры КонецПроцедуры
@@ -105,7 +105,7 @@
// Возвращает список колонок, добавляемых в дерево данных электронного документа помимо объявленных в макете. // Возвращает список колонок, добавляемых в дерево данных электронного документа помимо объявленных в макете.
// //
// Возвращаемое значение: // Возвращаемое значение:
// ФиксированныйМассив - массив колонок. // ФиксированныйМассив из Строка - Массив колонок.
// //
Функция КолонкиДереваДокумента() Функция КолонкиДереваДокумента()
@@ -162,7 +162,7 @@
// Преобразует текстовое описание типа в объект ОписаниеТипов. // Преобразует текстовое описание типа в объект ОписаниеТипов.
// //
// Параметры: // Параметры:
// Типы - Массив, Строка - см. ОписаниеТипов(). // Типы - Массив из ОписаниеТипов, Строка - см. ОписаниеТипов().
// ОписаниеЧисла - Строка - см. КвалификаторыЧислаПоОписанию(). // ОписаниеЧисла - Строка - см. КвалификаторыЧислаПоОписанию().
// ОписаниеСтроки - Строка - см. КвалификаторыСтрокиПоОписанию(). // ОписаниеСтроки - Строка - см. КвалификаторыСтрокиПоОписанию().
// ОписаниеДаты - Строка - см. КвалификаторыДатыПоОписанию(). // ОписаниеДаты - Строка - см. КвалификаторыДатыПоОписанию().
@@ -594,71 +594,205 @@
КонецПроцедуры КонецПроцедуры
// Проверяет заполнение обязательных реквизитов дерева. // Возвращает структуру параметров для проверки преобразования строки XML
// Только для внутреннего использования.
// Параметры:
// ДеревоДанных - деревоЗначений - дерево с данными.
// Ошибки - Массив - ошибки, накопленные за время обработки. Элементами массива являются структуры.
// Состав структур см. в ОбщегоНазначенияБЭДКлиентСервер.НовыеПараметрыОшибки().
// ЭтоТаблица - Булево - если Истина, то проверяется табличная часть.
// НомерСтроки - Число, Неопределено - номер проверяемой строки табличной части.
// ПроверятьОбязательностьПараметровОшибки - Булево - определяет, нужно ли проверять, заданы ли параметры обработки ошибок
// в тех реквизитах, для которых это обязательно.
// ДатаПоФорматуФНС - Булево - если установлена в Истину, значения типа "Дата" будут проверяться дополнительно
// на вхождение в диапазон лет 1900-2099 (требование схем ФНС).
// //
Процедура ПроверитьЗаполнениеРеквизитовДереваДанных(ДеревоДанных, Ошибки, ЭтоТаблица, // Возвращаемое значение:
НомерСтроки = Неопределено, ПроверятьОбязательностьПараметровОшибки = Истина, ДатаПоФорматуФНС = Ложь) Экспорт // Структура - Получить параметры проверки дерева данных:
// * ДатаПоФорматуФНС - Булево - если установлена в Истину, значения типа "Дата" будут проверяться дополнительно
// на вхождение в диапазон лет 1900-2099 (требование схем ФНС).
// * Кодировка - Строка - Кодировка для XML
// * ТаблицаСтрок - ТаблицаЗначений - :
// ** Идентификатор - Строка - Идентификатор проверяемой строки
// ** Значение - Строка - Значение проверяемой строки
// ** Длина - Число - Ограничение длины проверяемой строки
// ** Путь - Строка - Путь реквизита в дереве данных
// ** НомерСтроки - Число, Неопределено - Номер строки для табличных частей
//
Функция НовыеПараметрыПроверкиДереваДанных() Экспорт
НомерСтрокиДляПодстановки = ?(ЭтоТаблица, НомерСтроки, Неопределено); ТаблицаСтрок = Новый ТаблицаЗначений;
СтрокаДерева = Неопределено; // в этой переменной будем хранить последнюю считанную строку дерева данных ТаблицаСтрок.Колонки.Добавить("Идентификатор", ОбщегоНазначения.ОписаниеТипаСтрока(40));
ТаблицаСтрок.Колонки.Добавить("Значение", ОбщегоНазначения.ОписаниеТипаСтрока(0));
ТаблицаСтрок.Колонки.Добавить("Длина", ОбщегоНазначения.ОписаниеТипаЧисло(4));
ТаблицаСтрок.Колонки.Добавить("Путь", ОбщегоНазначения.ОписаниеТипаСтрока(0));
ТаблицаСтрок.Колонки.Добавить("НомерСтроки", ОбщегоНазначения.ОписаниеТипаЧисло(4));
Для Каждого СтрокаДерева Из ДеревоДанных.Строки Цикл ПараметрыПроверки = Новый Структура;
ТекстОшибки = ""; ПараметрыПроверки.Вставить("ДатаПоФорматуФНС", Ложь);
ПараметрыПроверки.Вставить("Кодировка", "windows-1251");
ПараметрыПроверки.Вставить("ТаблицаСтрок", ТаблицаСтрок);
РеквизитЗаполненИлиОбязателен = ЗначениеЗаполнено(СтрокаДерева.Значение) ИЛИ НРег(СтрокаДерева.Обязательное) = "да"; Возврат ПараметрыПроверки;
// Проверяем заполнение самого реквизита. КонецФункции
ПроверитьЗаполнениеРеквизитаДереваДанных(СтрокаДерева, ПроверятьОбязательностьПараметровОшибки, ДатаПоФорматуФНС, ТекстОшибки);
Если ЗначениеЗаполнено(ТекстОшибки) Тогда // Включить реквизит в проверку длин строк.
ДобавитьОшибкуПроверкиДереваДанных(Ошибки, СтрокаДерева, ТекстОшибки,, НомерСтрокиДляПодстановки); //
// Параметры:
// СтрокаДерева - СтрокаДереваЗначений - Строка дерева
// РеквизитЗаполнен - Булево - Признак заполнения реквизита
// ПараметрыПроверки - Структура: см. НовыеПараметрыПроверкиДереваДанных().
// НомерСтроки - Неопределено, Число - Номер строки
//
Процедура ВключитьРеквизитВПроверкуДлинСтрок(СтрокаДерева, РеквизитЗаполнен, ПараметрыПроверки, НомерСтроки = Неопределено)
ТипЗначения = СтрокаДерева.ТипЗначения;
Если ЗначениеЗаполнено(ТипЗначения) И ТипЗначения.СодержитТип(Тип("Строка"))
И ТипЗначения.КвалификаторыСтроки.Длина > 0 И РеквизитЗаполнен Тогда
СтрокаТаблицы = ПараметрыПроверки.ТаблицаСтрок.Добавить();
СтрокаТаблицы.Идентификатор = "xml-" + Строка(Новый УникальныйИдентификатор);
СтрокаТаблицы.Значение = СтрокаДерева.Значение;
СтрокаТаблицы.Длина = ТипЗначения.КвалификаторыСтроки.Длина;
СтрокаТаблицы.Путь = СтрокаДерева.ПолныйПуть;
СтрокаТаблицы.НомерСтроки = НомерСтроки;
Продолжить;
КонецЕсли; КонецЕсли;
// Запускаем проверки подчиненных реквизитов, если это структурированное значение. КонецПроцедуры
Если СтрокаДерева.Признак = "Таблица" И (ТипЗнч(СтрокаДерева.Значение) = Тип("Число") И СтрокаДерева.Значение > 0 ИЛИ СтрокаДерева.Обязательное = "Да")Тогда
Для Каждого СтрокаТаблицы Из СтрокаДерева.Строки Цикл // Проверяет строковые значение на предмет превышения длины строки учитывая спецсимволы
ПроверитьЗаполнениеРеквизитовДереваДанных(СтрокаТаблицы, Ошибки, Истина, СтрокаТаблицы.Значение, //
РеквизитЗаполненИлиОбязателен И ПроверятьОбязательностьПараметровОшибки, ДатаПоФорматуФНС); // Параметры:
// ДеревоДанных - ДеревоЗначений - Дерево с данными.
// ПараметрыПроверки - Структура: см. НовыеПараметрыПроверкиДереваДанных().
// Ошибки - Массив из См. ОбщегоНазначенияБЭДКлиентСервер.НовыеПараметрыОшибки()
//
Процедура ПроверитьСтроковыеПараметрыНаПревышениеДлины(ДеревоДанных, ПараметрыПроверки, Ошибки)
ДлинаТэга = 42; // Длина идентификатора - 40 + символы "<>"
Пояснение = НСтр("ru='Некоторые символы ("", &, <, >) занимают больше места.'");
Поток = Новый ПотокВПамяти;
Запись = Новый ЗаписьXML();
Запись.ОткрытьПоток(Поток, Новый ПараметрыЗаписиXML(ПараметрыПроверки.Кодировка,, Ложь, Ложь));
Запись.ЗаписатьНачалоЭлемента("ДанныеСтрок");
Для Каждого СтрокаТаблицы Из ПараметрыПроверки.ТаблицаСтрок Цикл
Запись.ЗаписатьНачалоЭлемента(СтрокаТаблицы.Идентификатор);
Запись.ЗаписатьТекст(СтрокаТаблицы.Значение);
Запись.ЗаписатьКонецЭлемента();
КонецЦикла; КонецЦикла;
ИначеЕсли СтрокаДерева.Признак = "Выбор" И (ЗначениеЗаполнено(СтрокаДерева.Значение) ИЛИ СтрокаДерева.Обязательное = "Да") Тогда
Запись.ЗаписатьКонецЭлемента(); // ДанныеСтрок
Запись.Закрыть();
Поток.Перейти(0, ПозицияВПотоке.Начало);
Чтение = Новый ЧтениеДанных(Поток, ПараметрыПроверки.Кодировка);
Чтение.ПрочитатьСтроку(, "<ДанныеСтрок>");
Для Каждого СтрокаТаблицы Из ПараметрыПроверки.ТаблицаСтрок Цикл
РазделительСтроки = "</" + СтрокаТаблицы.Идентификатор + ">";
СтрокаИзПотока = Чтение.ПрочитатьСтроку(, РазделительСтроки);
СтрокаДанных = Прав(СтрокаИзПотока, СтрДлина(СтрокаИзПотока) - ДлинаТэга);
Если СтрДлина(СтрокаДанных) > СтрокаТаблицы.Длина Тогда
СтрокаДерева = ДеревоДанных.Строки.Найти(СтрокаТаблицы.Путь, "ПолныйПуть", Истина);
НомерСтроки = ?(СтрокаТаблицы.НомерСтроки = 0, Неопределено, СтрокаТаблицы.НомерСтроки);
ЧислоСимволов = ПолучитьСклоненияСтрокиПоЧислу("", СтрокаТаблицы.Длина, "символ", "ЧС=Количественное", "ПД=Винительный")[0];
ТекстОшибки = СтрШаблон(НСтр("ru='Длина строки превышает допустимый размер %1 %2. %3'"),
СтрокаТаблицы.Длина, ЧислоСимволов, Пояснение);
ДобавитьОшибкуПроверкиДереваДанных(Ошибки, СтрокаДерева, ТекстОшибки,, НомерСтроки);
КонецЕсли;
КонецЦикла;
Поток.Закрыть();
КонецПроцедуры
// Проверяет заполнение обязательных реквизитов дерева и их корректность.
//
// Параметры:
// ДеревоДанных - ДеревоЗначений - Дерево с данными.
// Ошибки - Массив из См. ОбщегоНазначенияБЭДКлиентСервер.НовыеПараметрыОшибки()
// НомерСтроки - Число, Неопределено - Номер строки
// ПроверятьОбязательностьПараметровОшибки - Булево - Определяет, нужно ли проверять, заданы ли параметры обработки ошибок
// в тех реквизитах, для которых это обязательно.
// ПараметрыПроверки - Структура: см. НовыеПараметрыПроверкиДереваДанных().
//
Процедура ПроверитьЗаполнениеРеквизитовДереваДанных(ДеревоДанных, Ошибки,
НомерСтроки = Неопределено, ПроверятьОбязательностьПараметровОшибки = Истина, ПараметрыПроверки = Неопределено) Экспорт
ЭтоВерхнийУровеньДерева = ТипЗнч(ДеревоДанных) = Тип("ДеревоЗначений");
ПараметрыПроверки = ?(ПараметрыПроверки = Неопределено, НовыеПараметрыПроверкиДереваДанных(), ПараметрыПроверки);
Для Каждого СтрокаДерева Из ДеревоДанных.Строки Цикл
ТекстОшибки = "";
РеквизитЗаполнен = ЗначениеЗаполнено(СтрокаДерева.Значение);
РеквизитОбязателен = НРег(СтрокаДерева.Обязательное) = "да";
РеквизитЗаполненИлиОбязателен = РеквизитЗаполнен Или НРег(СтрокаДерева.Обязательное) = "да";
// Проверяем заполнение самого реквизита.
ПроверитьЗаполнениеРеквизитаДереваДанных(СтрокаДерева, ПроверятьОбязательностьПараметровОшибки,
ПараметрыПроверки.ДатаПоФорматуФНС, ТекстОшибки);
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ДобавитьОшибкуПроверкиДереваДанных(Ошибки, СтрокаДерева, ТекстОшибки,, НомерСтроки);
Продолжить;
КонецЕсли;
ВключитьРеквизитВПроверкуДлинСтрок(СтрокаДерева, РеквизитЗаполнен, ПараметрыПроверки, НомерСтроки);
// Запускаем проверки подчиненных реквизитов, если это структурированное значение.
Если СтрокаДерева.Признак = "Таблица" И (ТипЗнч(СтрокаДерева.Значение) = Тип("Число") И СтрокаДерева.Значение > 0 Или РеквизитОбязателен) Тогда
Для Каждого СтрокаТаблицы Из СтрокаДерева.Строки Цикл
ПроверитьЗаполнениеРеквизитовДереваДанных(СтрокаТаблицы, Ошибки, СтрокаТаблицы.Значение,
РеквизитЗаполненИлиОбязателен И ПроверятьОбязательностьПараметровОшибки, ПараметрыПроверки);
КонецЦикла;
ИначеЕсли СтрокаДерева.Признак = "Выбор" И (РеквизитЗаполнен Или РеквизитОбязателен) Тогда
ПроверяемаяСтрока = СтрокаДерева.Строки.Найти(СтрокаДерева.ПолныйПуть + "." + СтрокаДерева.Значение, "ПолныйПуть"); ПроверяемаяСтрока = СтрокаДерева.Строки.Найти(СтрокаДерева.ПолныйПуть + "." + СтрокаДерева.Значение, "ПолныйПуть");
Если ЗначениеЗаполнено(ПроверяемаяСтрока) Тогда Если ЗначениеЗаполнено(ПроверяемаяСтрока) Тогда
// Поскольку сменили текущую строку дерева, нужно проверить заполнение самого реквизита. // Поскольку сменили текущую строку дерева, нужно проверить заполнение самого реквизита.
ПроверитьЗаполнениеРеквизитаДереваДанных(ПроверяемаяСтрока, ПроверятьОбязательностьПараметровОшибки, ДатаПоФорматуФНС, ТекстОшибки); ПроверитьЗаполнениеРеквизитаДереваДанных(ПроверяемаяСтрока, ПроверятьОбязательностьПараметровОшибки,
ПараметрыПроверки.ДатаПоФорматуФНС, ТекстОшибки);
Если ЗначениеЗаполнено(ТекстОшибки) Тогда Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ДобавитьОшибкуПроверкиДереваДанных(Ошибки, ПроверяемаяСтрока, ТекстОшибки,, НомерСтрокиДляПодстановки);
ДобавитьОшибкуПроверкиДереваДанных(Ошибки, ПроверяемаяСтрока, ТекстОшибки,, НомерСтроки);
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
ПроверитьЗаполнениеРеквизитовДереваДанных(ПроверяемаяСтрока, Ошибки, Ложь,, ПроверитьЗаполнениеРеквизитовДереваДанных(ПроверяемаяСтрока, Ошибки,,
РеквизитЗаполненИлиОбязателен И ПроверятьОбязательностьПараметровОшибки, ДатаПоФорматуФНС); РеквизитЗаполненИлиОбязателен И ПроверятьОбязательностьПараметровОшибки, ПараметрыПроверки);
Иначе
ТекстОшибки = ТекстОшибкиНеЗаполненногоЗначенияДерева();
Иначе
ТекстОшибки = ТекстОшибкиНеЗаполненногоЗначенияДерева();
ДобавитьОшибкуПроверкиДереваДанных(Ошибки, СтрокаДерева, ТекстОшибки); ДобавитьОшибкуПроверкиДереваДанных(Ошибки, СтрокаДерева, ТекстОшибки);
КонецЕсли; КонецЕсли;
ИначеЕсли СтрокаДерева.Признак = "Группа" И СтрокаДерева.Значение = Истина И СтрокаДерева.Строки.Количество() > 0 Тогда ИначеЕсли СтрокаДерева.Признак = "Группа" И СтрокаДерева.Значение = Истина И СтрокаДерева.Строки.Количество() > 0 Тогда
ПроверитьЗаполнениеРеквизитовДереваДанных(СтрокаДерева, Ошибки, Ложь,,
РеквизитЗаполненИлиОбязателен И ПроверятьОбязательностьПараметровОшибки, ДатаПоФорматуФНС); ПроверитьЗаполнениеРеквизитовДереваДанных(СтрокаДерева, Ошибки,,
РеквизитЗаполненИлиОбязателен И ПроверятьОбязательностьПараметровОшибки, ПараметрыПроверки);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Если ЭтоВерхнийУровеньДерева Тогда
ПроверитьСтроковыеПараметрыНаПревышениеДлины(ДеревоДанных, ПараметрыПроверки, Ошибки);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
// Возвращает стандартный текст ошибки для незаполненного значения дерева. // Возвращает стандартный текст ошибки для незаполненного значения дерева.
@@ -675,8 +809,8 @@
// Добавляет в ошибку в хранилище накопленных ошибок. // Добавляет в ошибку в хранилище накопленных ошибок.
// //
// Параметры: // Параметры:
// Ошибки - Массив - ошибки, накопленные за время обработки. Элементами массива являются структуры. // Ошибки - Массив из Структура - ошибки, накопленные за время обработки. Элементами массива являются структуры.
// Состав структур см. ОбщегоНазначенияБЭДКлиентСервер.НовыеПараметрыОшибки. // см. ОбщегоНазначенияБЭДКлиентСервер.НовыеПараметрыОшибки.
// СтрокаДерева - СтрокаДереваЗначений - строка дерева электронного документа, по реквизиту которой // СтрокаДерева - СтрокаДереваЗначений - строка дерева электронного документа, по реквизиту которой
// фиксируется ошибка. // фиксируется ошибка.
// ТекстОшибки - Строка - текст фиксируемой ошибки. // ТекстОшибки - Строка - текст фиксируемой ошибки.
@@ -929,7 +1063,7 @@
// СтрокаТовара - СтрокаДереваЗначений - строка товара дерева документа, из которой нужно извлечь данные. // СтрокаТовара - СтрокаДереваЗначений - строка товара дерева документа, из которой нужно извлечь данные.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - информация для сопоставления товаров. // Структура, Неопределено - информация для сопоставления товаров.
// //
Функция ИзвлечьСопоставлениеНоменклатурыИзДереваДокумента(Знач СтрокаТовара) Экспорт Функция ИзвлечьСопоставлениеНоменклатурыИзДереваДокумента(Знач СтрокаТовара) Экспорт
@@ -1100,10 +1234,10 @@
// Параметры: // Параметры:
// ДеревоДанных - ДеревоЗначений - дерево с данными // ДеревоДанных - ДеревоЗначений - дерево с данными
// НазваниеПоля - Строка - название поля в дереве, содержащее полный путь к реквизиту // НазваниеПоля - Строка - название поля в дереве, содержащее полный путь к реквизиту
// НайтиРекурсивно - Булево, Истина - если требуется рекурсивный поиск. // НайтиРекурсивно - Булево - Истина, если требуется рекурсивный поиск.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Строка таблицы значений - содержит строку дерева. // СтрокаТаблицыЗначений - содержит строку дерева.
// //
Функция СтрокаДерева(ДеревоДанных, НазваниеПоля, НайтиРекурсивно = Ложь) Экспорт Функция СтрокаДерева(ДеревоДанных, НазваниеПоля, НайтиРекурсивно = Ложь) Экспорт
@@ -283,7 +283,7 @@
КонецЕсли; КонецЕсли;
Если НеКонтролироватьДоступныеЦели Тогда Если НеКонтролироватьДоступныеЦели Тогда
Возврат Возврат;
КонецЕсли; КонецЕсли;
ДеревоДопустимыхЦелей = ДопустимыеЦелиПоПродукциям(Объект.Товары.ВыгрузитьКолонку("Продукция")); ДеревоДопустимыхЦелей = ДопустимыеЦелиПоПродукциям(Объект.Товары.ВыгрузитьКолонку("Продукция"));
@@ -513,7 +513,7 @@
СтрокаТаблицы = ЗаполненныеВиды.Получить(ВидПродукцииИдентификатор); СтрокаТаблицы = ЗаполненныеВиды.Получить(ВидПродукцииИдентификатор);
Если СтрокаТаблицы <> Неопределено Тогда Если СтрокаТаблицы <> Неопределено Тогда
Если СтрНайти(СтрокаТаблицы.ВидПродукцииНаименование, ВидПродукцииНаименование) = 0 Тогда Если СтрНайти(СтрокаТаблицы.ВидПродукцииНаименование, ВидПродукцииНаименование) = 0 Тогда
СтрокаТаблицы.ВидПродукцииНаименование = СтрокаТаблицы.ВидПродукцииНаименование + ", "+ ВидПродукцииНаименование; СтрокаТаблицы.ВидПродукцииНаименование = СтрокаТаблицы.ВидПродукцииНаименование + ", " + ВидПродукцииНаименование;
КонецЕсли; КонецЕсли;
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -1466,6 +1466,18 @@
РеквизитыШапки.Вставить("АдресДоставки", ВыборкаРеквизитыШапки.АдресДоставки); РеквизитыШапки.Вставить("АдресДоставки", ВыборкаРеквизитыШапки.АдресДоставки);
РеквизитыШапки.Вставить("АдресДоставкиЗначенияПолей", ВыборкаРеквизитыШапки.АдресДоставкиЗначенияПолей); РеквизитыШапки.Вставить("АдресДоставкиЗначенияПолей", ВыборкаРеквизитыШапки.АдресДоставкиЗначенияПолей);
ЕстьСвойствоЗначенияАдреса = ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(
ВыборкаРеквизитыШапки,
"АдресДоставкиЗначение");
Если ЕстьСвойствоЗначенияАдреса Тогда
АдресДоставкиЗначение = ВыборкаРеквизитыШапки.АдресДоставкиЗначение; // Строка
Иначе
АдресДоставкиЗначение = "";
КонецЕсли;
РеквизитыШапки.Вставить("АдресДоставкиЗначение", АдресДоставкиЗначение);
Если ВыборкаРеквизитыШапки.СпособДоставки = Перечисления.СпособыДоставки.ДоКлиента Если ВыборкаРеквизитыШапки.СпособДоставки = Перечисления.СпособыДоставки.ДоКлиента
Или ВыборкаРеквизитыШапки.СпособДоставки = Перечисления.СпособыДоставки.СиламиПеревозчикаПоАдресу Тогда Или ВыборкаРеквизитыШапки.СпособДоставки = Перечисления.СпособыДоставки.СиламиПеревозчикаПоАдресу Тогда
РеквизитыШапки.Вставить("ЗонаДоставки", ВыборкаРеквизитыШапки.ЗонаДоставки); РеквизитыШапки.Вставить("ЗонаДоставки", ВыборкаРеквизитыШапки.ЗонаДоставки);
@@ -325,9 +325,20 @@
КонецПроцедуры КонецПроцедуры
// Использование информирования о переъоже на новые режимы учета.
//
// Параметры:
// ПараметрыОбработчика - см. Обработки.ОперацииЗакрытияМесяца.ИнициализироватьПараметрыОбработчикаЭтапа
//
Процедура Использование_ПереходНаНовыеРежимыРаботы(ПараметрыОбработчика) Экспорт Процедура Использование_ПереходНаНовыеРежимыРаботы(ПараметрыОбработчика) Экспорт
// При закрытии текущего и предыдущего месяца повышаем важность проблемы.
Если НачалоМесяца(ПараметрыОбработчика.ПараметрыРасчета.Период) >= ДобавитьМесяц(НачалоМесяца(ТекущаяДатаСеанса()), -1) Тогда
СтатусПоУмолчанию = Перечисления.ВажностьПроблемыУчета.ВажнаяИнформация; СтатусПоУмолчанию = Перечисления.ВажностьПроблемыУчета.ВажнаяИнформация;
Иначе
СтатусПоУмолчанию = Перечисления.ВажностьПроблемыУчета.Предупреждение;
ПараметрыОбработчика.ДанныеЭтапа.Наименование = НСтр("ru='Рекомендуется осуществить переход на новые режимы учета'");
КонецЕсли;
ТекстГиперссылкиПоУмолчанию = НСтр("ru='Перейти'", ОбщегоНазначения.КодОсновногоЯзыка()); ТекстГиперссылкиПоУмолчанию = НСтр("ru='Перейти'", ОбщегоНазначения.КодОсновногоЯзыка());
//++ Локализация //++ Локализация
@@ -3640,7 +3651,7 @@
БлокирующийОбработчик = ОбработчикиОбновления.Получить(ОбъектМетаданных); БлокирующийОбработчик = ОбработчикиОбновления.Получить(ОбъектМетаданных);
Если БлокирующийОбработчик = Неопределено Тогда Если БлокирующийОбработчик = Неопределено Тогда
БлокирующийОбработчик = Истина; БлокирующийОбработчик = Ложь;
КонецЕсли; КонецЕсли;
Отбор = ?(ТипЗнч(ОписаниеДанных.Значение) = Тип("Булево"), Неопределено, ОписаниеДанных.Значение); Отбор = ?(ТипЗнч(ОписаниеДанных.Значение) = Тип("Булево"), Неопределено, ОписаниеДанных.Значение);
@@ -3747,7 +3758,7 @@
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
БлокируетЗакрытиеМесяца = ОбработчикиОбновления.Получить(НРег(Выборка.ИмяОбработчика)); БлокируетЗакрытиеМесяца = ОбработчикиОбновления.Получить(НРег(Выборка.ИмяОбработчика));
БлокируетЗакрытиеМесяца = ?(БлокируетЗакрытиеМесяца = Неопределено, Истина, БлокируетЗакрытиеМесяца); БлокируетЗакрытиеМесяца = ?(БлокируетЗакрытиеМесяца = Неопределено, Ложь, БлокируетЗакрытиеМесяца);
МассивИменМетаданных = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СокрЛП(Выборка.ИзменяемыеОбъекты), ",", Истина, Истина); МассивИменМетаданных = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СокрЛП(Выборка.ИзменяемыеОбъекты), ",", Истина, Истина);
@@ -3776,7 +3787,6 @@
// Каждый обработчик обновления указывается на новой строке, запятые в конце строки не нужны // Каждый обработчик обновления указывается на новой строке, запятые в конце строки не нужны
Обработчики = " Обработчики = "
|ЗакрытиеМесяцаСервер.ОбработатьДанныеДляПереходаНаНовуюВерсию
|РегистрыСведений.ЗаданияКРаспределениюРасчетов.ОбработатьДанныеДляПереходаНаНовуюВерсию |РегистрыСведений.ЗаданияКРаспределениюРасчетов.ОбработатьДанныеДляПереходаНаНовуюВерсию
|РегистрыСведений.ЗаданияНеоперативногоДопроведенияДокументов.ОбработатьДанныеДляПереходаНаНовуюВерсию |РегистрыСведений.ЗаданияНеоперативногоДопроведенияДокументов.ОбработатьДанныеДляПереходаНаНовуюВерсию
|РегистрыНакопления.РасчетыПоФинансовымИнструментам.ОбработатьДанныеДляПереходаНаНовуюВерсию |РегистрыНакопления.РасчетыПоФинансовымИнструментам.ОбработатьДанныеДляПереходаНаНовуюВерсию
@@ -3801,6 +3811,7 @@
// Каждый обработчик обновления указывается на новой строке, запятые в конце строки не нужны // Каждый обработчик обновления указывается на новой строке, запятые в конце строки не нужны
Обработчики = " Обработчики = "
|ЗакрытиеМесяцаСервер.ОбработатьДанныеДляПереходаНаНовуюВерсию
|Справочники.ДоговорыКонтрагентов.ОбработатьДанныеДляПереходаНаНовуюВерсию |Справочники.ДоговорыКонтрагентов.ОбработатьДанныеДляПереходаНаНовуюВерсию
|Документы.АктОРасхожденияхПослеПриемки.ПриДобавленииОбработчиковОбновления |Документы.АктОРасхожденияхПослеПриемки.ПриДобавленииОбработчиковОбновления
|Документы.ЗаказПоставщику.ОбработатьДанныеДляПереходаНаНовуюВерсию |Документы.ЗаказПоставщику.ОбработатьДанныеДляПереходаНаНовуюВерсию

Some files were not shown because too many files have changed in this diff Show More