Итак. Бухгалтерия предприятия, редакция 3.0, 1С:Предприятие 8.3 (8.3.12.1529).
Суть задачи: Перенос документа "Операция".
Решение:
Открываем конвертацию, создаем ПКО. в нем указываем объект источник и приемник - Операция.
Суть метода сводится к тому, что в источнике мы создаем параметры в конвертации свойств.
каждый из них это столбец нашей ТЗ.
тип данных - массив.
Соответсвенно мы переносим массивы данных, а дальше собираем их в ТЗ.
Итак, собираем массив.
Все ПКС однотипны. Они вытягивают нужные данные из источника и создают массив. Массив передается в тип - строка.
Так например, для одного документа операция может быть много строк проводок.
Все проводки с данными о"Дт" - мы записываем в массив.
Далее Так-же поступаем со всеми полями которые нам нужны для конечной ТЗ.
Т.е. резюмирую: мы массивы данных собираем в строку, через запятую. И передаем эту строку в приемник.
И сам код:
Значение="";
Пока Выборка.Следующий() Цикл
текЗнач = Выборка.СчетДт.Код;
Значение = Значение + текЗнач + ",";
КонецЦикла;
Значение = Лев(Значение,СтрДлина(Значение)-1);
Отлично. Наши данные загружены.
Переходим к п.2, а именно - получению приемником этих данных.
Мы заходим в ПКО Операции "ПослеЗагрузки" и определяем переменные которые передали из источника.
Т.к. переменные являются строкой, нам нужно их преобразовать обратно в массивы. Это делается однотипными методами:
Сам код:
Массив = новый Массив();
Стр = СчетКт; //Тут изменяемое
Рез = Найти(Стр, ",");
Если Рез = 0 Тогда Массив.Добавить(Стр); Иначе ЧтотоНайдено=Истина;
пока ЧтотоНайдено Цикл
Рез = Найти(Стр, ",");
Если Не ПустаяСтрока(Лев(Стр,Рез-1)) Тогда Массив.Добавить(Лев(Стр,Рез-1)); КонецЕсли;
Стр = Прав(Стр,СтрДлина(Стр)-Рез);
Если Рез = 0 Тогда ЧтотоНайдено = Ложь; Массив.Добавить(Стр); КонецЕсли;
КонецЦикла;
КонецЕсли;
МассивСчетКт =Массив; //Тут изменяемое
Далее нам нужно просто данные из массивов собрать вместе подобно ТЗ.
В данном случае, для документа "Операция" мы заполняем ее табличную часть.
Хочется так-же добавить, что весь код рабочий и использовался мной для решения реальной задачи.
Всем успехов с КД.