понедельник, 30 ноября 2015 г.

Как реализовать запрет изменения по типу документов в ЗУП 3.0 (1С 8.3)

Задача: реализовать запрет на изменение по типу документов в ЗУП 3.0 (Зарплата и управление персоналом КОРП, редакция 3.0 (3.0.24.114))
В ходе анализа алгоритмов выяснилось, что стандарные механизмы блокируют на изменение много других документов, а для решения данной задачи требуется блокировка только в части табелей.
Чтобы не переписывать четверть конфигурации, и не обеспечивать себе головную боль при обновлении механизмов БСП. Решил сделать следующим образом, что просто добавить новый раздел с включенным в него табелем.
Всего в пару шагов:

1. В план видов характеристик "РазделыДатЗапретаИзменения" добавляется новый элемент: РМ_БлокировкаДокументовУчетаРВ -"(РМ) Блокировка документов учета РВ", с типом справочник ссылка организации. (прим. рис.)


2. В модуль ЗарплатаКадрыРасширенный добавляется следующая строка, описывающая

ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ТабельУчетаРабочегоВремени","ПериодРегистрации", "РМ_БлокировкаДокументовУчетаРВ", "Организация");//{РМ}

Далее в режиме предприятия:
Администрирование-Поддержка и обслуживание-Дата запрета изменения (настроить) появился новый раздел. Остается только настроить для него дату запрета.

Как исправить ошибку СКД: "Ошибка обработки представления" (1С 8.3 СКД)


1С 8.3 СКД "Ошибка обработки представления"
При программном формировании СКД отчета, вылетало в ошибку. Хотя с запросом все в порядке, в консоли отрабатывает, в консоли СКД также все окей.
В моем случае данная ошибка возникала при связи вирт. таблицы регистра сведений "СрезПоследних" со справочником или другим регистром.

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

Для устранения проблемы формирования отчета необходимо снять галку автозаполнение в закладке "Наборы данных"
и вручную переопределить поля выборки в конструкторе запроса в закладке "Компоновка данных" - "Поля"

четверг, 26 ноября 2015 г.

Как получить параметры СКД в модуле объекта? (1С 8.3)

//1. возвращает значение параметра СКД, необходимо передать настройки отчета и параметр
Функция ВернутьЗначениеПараметра(НастройкиОтчета,НаименованиеПараметра)
Параметр = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(НаименованиеПараметра));
Возврат ?(Параметр = Неопределено, Неопределено, Параметр.Значение);
КонецФункции

//2. использование: создать структуру с параметрами в модуле объекта
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("Организация", ВернутьЗначениеПараметра(НастройкиОтчета,"Организация"));

для примера, заполнение произвольного макета:

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

СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("Организация", ВернутьЗначениеПараметра(НастройкиОтчета,"Организация"));
ЗаполнитьЗначенияСвойств(ОбластьШапка.Параметры,СтруктураПараметров);

//+ваш код...
...
//-
КонецПроцедуры

Как включить отображение движений документов в ЗУП 3.0 (1С 8.3)

1) Открываем форму документа, к примеру Зарплата - Учет времени - Табель

2) Переходим меню Файл - Вид - Настройка панели навигации формы

 3) Выделить необходимые элементы и нажать "Добавить все"

Ошибка: Default Activity not found

При возникновении ошибки Default Activity not found:
Убедится что в app->Edit Configuratios...
 
 Установлен Activity по-умолчанию:
Далее при ошибки the activity is not declared in androidmanifest.xml добавить в AndroidManifest.xml, конструкцию:

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

но непосредственно в тело activity который будет являться основным к примеру для
SearchActivity: