Имя: Пароль:
1C
1С v8
Неправильно сохраняется табличный документ на сервере.
0 just86
 
01.08.17
16:59
Всем доброго дня.
Подскажите, в чем может быть проблема.
Есть json который приходит в вебсервис. В результате то, что пришло вывожу в пдф. Соответственно формирую табличный документ, заполняю. Записываю и получаю, что пропали часть ячеек.
Беру этот же код заполнения табличного документа, выполняю в обработке и всё нормально выглядит.

Табличный документ сложный, собирается динамически, участвует СКД.
Таб док сохраняю в pdf, xls, xlsx, mxl - результат один и тот же...
Может как то влиять место заполнения НаСервере и НаСервере без клиентского вызова при заполнении и записи табдока?
1 PuhUfa
 
01.08.17
17:02
(0) >>Табличный документ сложный, собирается динамически, участвует СКД.
Посмотри, для начала, какая из частей сбора данных "врет"
2 just86
 
01.08.17
17:42
Судя по всему проблема в этой процедуре...

Процедура ОбработатьЗаголовки(ТабДок, СхемаКомпоновкиДанных)
    ОбъединяемаяОбласть = Неопределено;
    
    Для индСтр = 1 По 4 Цикл
        НачальнаяКолонка = 0;
        Для индКол = 2 По ТабДок.ШиринаТаблицы Цикл
            // ресурсы не обрабатываем
            ТекИмяПоля = ТабДок.Область(индСтр, индКол).Текст;
            Если Не СхемаКомпоновкиДанных.ПоляИтога.Найти(ТекИмяПоля) = Неопределено Тогда
                Продолжить;
            КонецЕсли;
            // определяем начало объединения
            Если ОбъединятьЯчейки(ТабДок, индСтр, индКол) Тогда
                Если не НачальнаяКолонка Тогда
                    НачальнаяКолонка = индКол;
                КонецЕсли;
            ИначеЕсли НачальнаяКолонка Тогда
                // завершаем объединение
                ТекстЗаголовка = ТабДок.Область(индСтр, индКол).Текст;
                ОбъединяемаяОбласть = ТабДок.Область(индСтр, НачальнаяКолонка, индСтр, индКол);
                ОбъединяемаяОбласть.Объединить();
                ОбъединяемаяОбласть.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
                ОбъединяемаяОбласть.Текст = ТекстЗаголовка;
                Начал = 0;
            Иначе
                НачальнаяКолонка = 0;
            КонецЕсли;
        КонецЦикла;
        // Если нашли в строке области для объединения, то прекращаем дальнейшие поиски
        Если Не ОбъединяемаяОбласть = Неопределено Тогда
            //Возврат;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Но всё равно не понимаю, почему она в обработке нормально отрабатывает, а на сервере нет...
3 Господин ПЖ
 
01.08.17
17:45
разрешаю попользоваться отладчиком