Здравсвтуйте! имеется код, в котором я хочу добавить строки к табличной части формы документа. На клиент мне строка приходит, а на форме не отображается...второй день борюсь...подскажите кто сталкивался.

Код:

```1c
    &НаСервере
    Процедура НачисленияПриАктивизацииСтрокиНаСервере() Экспорт

    ОбъектДокумента = РеквизитФормыВЗначение("Объект");
    Массив = ОбъектДокумента.РассчетКоэффициентов();
    //Для Счетчик = 0 По Массив.Количество() - 1 Цикл
    // Сообщить(Массив[Счетчик]);
    //КонецЦикла;

    Запрос = Новый Запрос;

    Ссылка = ОбъектДокумента.Ссылка;

    //Ссылка = Документы.НачислениеЗарплаты.ПолучитьСсылку(Новый УникальныйИдентификатор(Ссылка));

    Запрос.УстановитьПараметр("Ссылка", Ссылка);

    Запрос.Текст =

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

    Результат = Запрос.Выполнить().Выбрать();

    Сотр = Новый Массив;

    Пока Результат.Следующий() Цикл

    Сотр.Добавить(Результат.Сотрудник);

    КонецЦикла;

    Индекс =1;

    Для Каждого СтрокаТЧ из ОбъектДокумента.Начисления Цикл

    Индекс = Индекс +1;

    НайдСтроки = ОбъектДокумента.РаспределениеРезультатовНачислений.НайтиСтроки(Новый Структура("ИдентификаторСтроки",Индекс));

    НайдСтроки[0].Результат = 10000;

    //Сообщить(НайдСтроки[0].Результат);

    НовСтр = ОбъектДокумента.РаспределениеРезультатовНачислений.Добавить();

    НовСтр.ИдентификаторСтроки = СтрокаТЧ.НомерСтроки;

    НовСтр.СпособОтраженияЗарплатыВБухучете = Справочники.СпособыОтраженияЗарплатыВБухУчете.НайтиПоНаименованию("для проверки табеля 2");//НайдСтроки[0].СпособОтраженияЗарплатыВБухучете;

    НовСтр.СтатьяФинансирования = НайдСтроки[0].СтатьяФинансирования;

    НовСтр.Результат = НайдСтроки[0].Результат;

    КонецЦикла;

    ЗначениеВРеквизитФормы(ОбъектДокумента, "Объект");

    КонецПроцедуры
```

Подскажите, что делать и как исправить...
---
Общий модуль ЗарплатаИКадрыРасширенныйКлиент, процедура ОткрытьФормуРедактированияРезультатовРаспределенияПоИсточник­амФинансирования и процедура ФормаРедактированияРезультатовРаспределенияПоИсточникамФинан­сированиПослеЗакрытия. Посмотрите, что в них происходит, это как раз открытие и закрытие формы РедактированиеРезультатовРаспределенияНачисленийИУдержаний. Не все так просто оказалось) Реквизита Финансирование у табличной части Начисления нет, видимо он формируется программно и заполняется при открытии документа.
В модуле формы документа Начисления зарплаты посмотрите процедуру ВыполнитьКомандуРедактированияРезультатовРаспределенияНачисл­енийИУдержаний.
---
Вот нашла где хранятся данные по распределению, в табличной части Начисления, в реквизите РезультатРаспределения (содержит массив по статьям и суммам), а в колонке КомандаРедактированияРаспределения - номер статьи с типом Строка.
---
Чтобы ответить на вопрос точно, нужно вникать в код, как, что и где заполняется. Простите, времени на это нет. Я вам дала направление куда копать и где искать, теперь дело за вами)
---
Вы табличную часть РаспределениеРезультатовНачислений на форму вывели? Производите действия в документе Начисление зарплаты? Какая конфигурация?
---
вы вчера тоже мне уже помогали) вывести то вывел но опять же ничего не меняется и отследить по ней я ничего не могу, конфигурация ЗУП релиз 3.1.2.213.
---
Знаю, поэтому и имеется интерес добить вашу тему) Сейчас у себя ваш код попробую воспроизвести и посмотреть, что у вас не получается.
---
там сразу говорю еще большая каша с массивами, но мне главное сейчас вывести все в разделе финансирование табличной части начисления.
---
а нет секунудочку....я вывел эту таблицу на форму отдельно и туда добавляются строки.
---
сделайте скрин пожалуйста. Я не вижу раздела финансирования. А точнее, нужно увидеть, где у вас там должны выводиться данные на форме.
---
если нету даного столба то он включается Настройка- Расчет Зарплаты и там галка есть Использовать учет по Статьям финансирования
---
Финансирование сами добавляли в тч начисления? У себя я не нашла такого реквизита.
---
если нет данного столбца то он включается Настройка- Расчет Зарплаты и там галка есть Использовать учет по Статьям финансирования
---
К сожалению у меня такого нету, смотрю в КА, видимо в нее такого не добавили, хотя раздел зарплаты и ЗУП должны быть одинаковыми, ну да ладно. Судя по вашему коду вы не туда добавляете строки. Вам нужно увидеть данные в тч Начисления, значит в ней и надо менять данные. Либо после добавления в таблицу РаспределениеРезультатовНачислений должен выполниться еще какой-то стандартный код, который переносит данные в Начисления.
---
у меня тоже была такая мысль....вот сейчас копаюсь и ищу где она заполняется)
---
При нажатии на колонку финансирование, у вас открывается форма с табличкой?
---
Если так, то скорее всего данные заполняются через оповещение при закрытии той формы. Вот и посмотрите, что там да как формируется.
---
то есть мне найти событие ПриЗакрытии? и подскажите если не трудно при закрытии какой формы) просто я вроде ничего не закрывал.
---
При нажатии на строку по колонке финансирование, у вас открывается форма с табличкой?
Как вообще тч РаспределениеРезультатовНачислений заполняется, вручную?
---
она скрыта в конфигураторе)))
---
форма которая открывается при нажатии на поле финансирование
---
Не имея конфигурации под рукой, сложно что то понять(
---
ну я в любом случае буду разбираться) спасибо вам за помощь)
---
В поле финансирование таблицы Начисления какие данные должны выводиться? Общая сумма по статьям финансирования и способам отражения?
Если заполнить РаспределениеРезультатовНачислений, сохранить документ и открыть его, колонка финансирование в начислениях заполняется?
---
в каждой строке выводится код статьи финансирования и если нажать на него то открывается форма с табличной частью там стьтья финансирования, способ отражения в бу и сумма + можно вручную добавить свои данные
---
скажу даже больше при выполнении этой процедуры он удаляет все мои данные из поля финансирование
---
Общий модуль ЗарплатаИКадрыРасширенныйКлиент, процедура ОткрытьФормуРедактированияРезультатовРаспределенияПоИсточник­амФинансирования и процедура ФормаРедактированияРезультатовРаспределенияПоИсточникамФинан­сированиПослеЗакрытия. Посмотрите, что в них происходит, это как раз открытие и закрытие формы РедактированиеРезультатовРаспределенияНачисленийИУдержаний. Не все так просто оказалось) Реквизита Финансирование у табличной части Начисления нет, видимо он формируется программно и заполняется при открытии документа.
В модуле формы документа Начисления зарплаты посмотрите процедуру ВыполнитьКомандуРедактированияРезультатовРаспределенияНачисл­енийИУдержаний.
---
вы такая умная=) спасибо вам большое)
---
Вот нашла где хранятся данные по распределению, в табличной части Начисления, в реквизите РезультатРаспределения (содержит массив по статьям и суммам), а в колонке КомандаРедактированияРаспределения - номер статьи с типом Строка.
---
а можете скрин выслать? я вас понял но хочу убедиться что мы об одинаковых вещах говорим.
---
спасибо, то есть сейчас я так понял мне нужно поиграться с этой процедурой которая открывает эту форму....
---
Попробуйте к вашему коду добавить заполнение данных в эти реквизиты. Процедуры, относящиеся к открытию и закрытию формы, тоже просмотрите на всякий случай.
---
так а мне их по ходу заполнять на клиенте придется так ведь?
---
Думаю да, но могу ошибаться.
---
соответственно все что я сейчас делаю на севере мне нужно будет передать на клиент?
---
Получилось что-нибудь?
---
заполнил я эти реквизиты, но ничего не изменяется=)
---
"Объект недоступен для изменения." исправил но строки не разбиваются)
---
сейчас копаюсь в модулях и прыгаю из одного в другой.
---
пробовал через внешнюю обработку он мне ошибку выдает:

{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(76)}: Ошибка при вызове метода контекста (Добавить)
   НовСтр = Объект.СсылкаНаОбъект.РаспределениеРезультатовНачислений.Добавить();
по причине:
Объект недоступен для изменения.
---
Ответ именно в тех процедурах, которые я перечисляла )
---
Конечно не будет доступен, нужно же сначала объект получить: ОбъектДок = СсылкаНаОбъект.ПолучитьОбъект(); А потом уже добавлять или изменять что-либо и не забыть потом записать документ. Но скорее всего добавленные строчки пропадут, потому что там завязка идет на перерасчетах после заполнения таблички.
---
вы уверены?) здесь из каждой процедуры я проваливаюсь вд ругую)
---
```1c
    ОбъектДок = СсылкаНаОбъект.ПолучитьОбъект()
```
, я так и сделал) додумался) но внешняя обработка тоже ситуацию не исправляет)
---
Кстати, помимо заполнения колонки финансирование в тч Начисления, нужно будет еще, чтобы заполнялись данные по финансированию и на вкладке НДФЛ, иначе не дает сохранять документ.
---
это да) я уже думал об этом но решили сначала начисления заполнить) думаю если найти где проблема с начислениями то с НДФЛ будет попроще.
---
Реализовано через кнопку на форме документа Начисления зарплаты, при нажатии на которую получаем данные текущей выделенной строки для дальнейшего использования:

```1c
    &НаКлиенте
    Процедура ЗаполнитьФинансирование(Команда)
    ТекущаяСтрока = ТекущийЭлемент.ТекущиеДанные;

    Массив = ЗаполнитьДанными(ТекущаяСтрока.ПолучитьИдентификатор());
    ФиксМассив = Новый ФиксированныйМассив(Массив);

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

    Функция ПолучитьИсходныеДанные(Сотрудник,НомерСтрокиИсходнойТаблицы,ВидРасчета)

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

    Возврат ПараметрыДляРаспределения;
    КонецФункции

    Функция ЗаполнитьДанными(Идентификатор)

    СпособОтраженияЗарплатыВБухучете=Справочники.СпособыОтраженияЗарплатыВБухУчете.НайтиПоНаименованию("eee");
    СтатьяРасходов=Справочники.СтатьиРасходовЗарплата.ПустаяСсылка();
    СтатьяФинансирования=справочники.СтатьиФинансированияЗарплата.НайтиПоКоду("222");
    Территория=Справочники.ТерриторииВыполненияРабот.ПустаяСсылка();

    Массив = Новый Массив;
    Массив.Добавить(Новый Структура("ИдентификаторСтроки,КодСтатьиФинансирования,ОблагаетсяЕНВД,Результат,СпособОтраженияЗарплатыВБухучете,СтатьяРасходов,СтатьяФинансирования,Территория",
    Идентификатор,"222",Ложь,65000,СпособОтраженияЗарплатыВБухучете,СтатьяРасходов,СтатьяФинансирования,Территория));

    Возврат Массив;
    КонецФункции
```
---
В функции ЗаполнитьДанными(Идентификатор) как раз и происходит добавление строчек твоего распределения. В данном случае у меня только одна строка. И кстати не забудь отслеживать, чтобы итоговая сумма по распределению была равна Результату из тч Начисления, иначе ругаться будет.