INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Соседова Снежана Дмитриевна | Разработчик мобильных приложений | 1С-Рарус

«Как улучшить продукт и увеличить выручку в несколько раз (Немного про UX/UI, воронку AARRR и реальном опыте применения статистики в мобильном приложении)»

Поговорим о тиражных приложениях, и не только мобильных, и не обязательно на 1С :) В своем докладе я поделюсь нашим опытом разработки мобильного приложения Boss - как мы принимали решения о развитии приложения, на какие грабли наступали и какие выводы сделали: - "Ошибка выжившего" или почему фидбек от пользователей - это не всегда хорошо. - Сделаем продукт лучше! Добавим новые фичи! Или нет?) - Куда уходят пользователи? И так ли важно количество скачиваний приложения? - Статистика - что собираем, и главное Зачем? - Несколько реальных кейсов из нашего опыта - как мы увеличили выручку, не меняя функциональность приложения.

1. tigcorp 21.12.16 13:02 Сейчас в теме

ОБМЕН Регистр сведений -> Справочник с табличной частью

Здравствуйте. Пиши правила конвертации данных для перехода с Розницы на УНФ.

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

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

Итого создал ПВД. В обработчик "Перед выгрузкой" внес код:
Запрос = Новый Запрос("
|ВЫБРАТЬ
|	КомплектующиеНоменклатуры.Комплектующая,
|	КомплектующиеНоменклатуры.Количество,
|	КомплектующиеНоменклатуры.ДоляСтоимости,
|ИЗ
|	РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры
|ГДЕ
|	КомплектующиеНоменклатуры.Номенклатура = &Номен");
Запрос.УстановитьПараметр("Номен", Объект.Номенклатура); 
Выборка = Запрос.Выполнить().Выбрать();

ТабЧасть = Новый ТаблицаЗначений;
//ТабЧасть.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")));
//ТабЧасть.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15, 3)));
//ТабЧасть.Колонки.Добавить("ДоляСтоимости", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15, 2)));

ТабЧасть.Колонки.Добавить("Номенклатура");
ТабЧасть.Колонки.Добавить("Количество");
ТабЧасть.Колонки.Добавить("ДоляСтоимости");

Пока Выборка.Следующий() Цикл
	
	СтрокаТЧ = ТабЧасть.Добавить();
	СтрокаТЧ.Номенклатура = Выборка.Комплектующая;
	СтрокаТЧ.Количество = Выборка.Количество;
	СтрокаТЧ.ДоляСтоимости = Выборка.ДоляСтоимости;
	
КонецЦикла;

ВходящиеДанные                          = Новый Структура("Владелец,Состав");
ВходящиеДанные.Владелец = Объект.Номенклатура;
ВходящиеДанные.Состав = ТабЧасть;


ВыгрузитьПоПравилу( , , ВходящиеДанные, , "Комплектующие_Спецификации"); 
Показать


Далее создал Правило Конвертации Значений и в нем Правила Конвертации Свойства.



При попытке выгрузить выдает ошибку



Параллельно пытаюсь отладиться.

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

Может, изначально что не так делаю?
Ответы
Сортировка: Древо
2. jobtorn 25.12.16 00:04 Сейчас в теме
ИМХО
Состав - это должна быть ПКГС, внутри состава должны быть поля, которые также требуют указания правил конвертации.
Флаг "Получить значение из входящих данных" нужно указывать только для ПКГС, для полей - не нужно.
Если для ПВД не нужно выполнять стандартной обработки, то нужно установить Отказ = Истина;
В ПВД для регистра сведений, как правило, передается набор записей, поэтому конструкция Объект.Номенклатура не работает, необходимо указывать, что-то типа Объект.Отбор.Номенклатура.Значение, если номенклатура в отборе, или перебирать записи
3. tigcorp 25.12.16 17:44 Сейчас в теме
(2) Спасибо большое за совет. В следующий раз учту его.
В итоге решил, что слишком много времени потратил на попытки подстроить правила обмена для данной задачи. Вытащил необходимые данные через запрос, а затем через обработку из *.xl закинул в приемник.

А что такое ПКГС? Знаю Правила Конвертации Свойств, а вот ПКГС не знакомо мне.
4. jobtorn 25.12.16 19:32 Сейчас в теме
ПКГС - правило конвертации группы свойств. Выглядит как "папка"/группа, необходима для
1. описания конвертации коллекций типа Табличная часть - это можно увидеть если сформировать синхронизацию в конвертации для объектов с табличными частями
2. группировки свойств. Чаще всего используют для иерархических справочников, где часть реквизитов элементов не присутствует в группах. Такие реквизиты объединяют в ПКГС, и в ней прописывают Отказ = Источник.ЭтоГруппа - таким образом реквизиты не обрабатываются. Правда сейчас конвертация вроде бы корректно отрабатывает и без такого финта.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
Полный день

Удаленный программист 1С (от 800 до 1200 руб в час)
Санкт-Петербург
По совместительству

Программист 1С
Ростов-на-Дону
Полный день

Программист 1С
Москва
зарплата от 65 000 руб.
Полный день

Бизнес-аналитик 1С
Санкт-Петербург
Полный день