Не обновляется форма ЗУП 3.1 "Распределение по статья финансирования"

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

Код:
&НаСервере
Процедура НачисленияПриАктивизацииСтрокиНаСервере() Экспорт
	
	ОбъектДокумента = РеквизитФормыВЗначение("Объект");
	Массив = ОбъектДокумента.РассчетКоэффициентов();
	//Для Счетчик = 0 По Массив.Количество() - 1 Цикл
	//	Сообщить(Массив[Счетчик]);
	//КонецЦикла;
	
	Запрос = Новый Запрос;
	
	Ссылка = ОбъектДокумента.Ссылка;
	
	//Ссылка = Документы.НачислениеЗарплаты.ПолучитьСсылку(Новый УникальныйИдентификатор(Ссылка));
	
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	
	Запрос.Текст =
	
	  "ВЫБРАТЬ РАЗЛИЧНЫЕ
	  |	НачислениеЗарплатыНачисления.Сотрудник КАК СотрудникВДокументеНачислениеЗП,
	  |	РаботаСотрудниковНаОбъектеДанные.Сотрудник
	  |ИЗ
	  |	Документ.РаботаСотрудниковНаОбъекте.Данные КАК РаботаСотрудниковНаОбъектеДанные
	  |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.НачислениеЗарплаты.Начисления КАК НачислениеЗарплатыНачисления
	  |		ПО (НачислениеЗарплатыНачисления.Сотрудник.Ссылка = РаботаСотрудниковНаОбъектеДанные.Сотрудник.Ссылка)
	  |ГДЕ
	  |	НачислениеЗарплатыНачисления.Ссылка = &Ссылка";
	 
	 Результат = Запрос.Выполнить().Выбрать();
	 
	 Сотр = Новый Массив;
	 
	 Пока Результат.Следующий() Цикл
		 
		Сотр.Добавить(Результат.Сотрудник);
		 
	КонецЦикла;
	
	Индекс =1;
	
	Для Каждого СтрокаТЧ из ОбъектДокумента.Начисления Цикл
		
		Индекс = Индекс +1;
		
		НайдСтроки = ОбъектДокумента.РаспределениеРезультатовНачислений.НайтиСтроки(Новый Структура("ИдентификаторСтроки",Индекс));
		
		НайдСтроки[0].Результат = 10000;
		
		//Сообщить(НайдСтроки[0].Результат);
		
		НовСтр = ОбъектДокумента.РаспределениеРезультатовНачислений.Добавить();
	
		НовСтр.ИдентификаторСтроки = СтрокаТЧ.НомерСтроки;
		
		НовСтр.СпособОтраженияЗарплатыВБухучете = Справочники.СпособыОтраженияЗарплатыВБухУчете.НайтиПоНаименованию("для проверки табеля 2");//НайдСтроки[0].СпособОтраженияЗарплатыВБухучете;
		
		НовСтр.СтатьяФинансирования = НайдСтроки[0].СтатьяФинансирования;
		
		НовСтр.Результат = НайдСтроки[0].Результат;

КонецЦикла;

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

КонецПроцедуры
Показать



Подскажите, что делать и как исправить...
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
25. Rain88 373 31.05.17 10:37 Сейчас в теме +0.2 $m
Общий модуль ЗарплатаИКадрыРасширенныйКлиент, процедура ОткрытьФормуРедактированияРезультатовРаспределенияПоИсточник­амФинансирования и процедура ФормаРедактированияРезультатовРаспределенияПоИсточникамФинан­сированиПослеЗакрытия. Посмотрите, что в них происходит, это как раз открытие и закрытие формы РедактированиеРезультатовРаспределенияНачисленийИУдержаний. Не все так просто оказалось) Реквизита Финансирование у табличной части Начисления нет, видимо он формируется программно и заполняется при открытии документа.
В модуле формы документа Начисления зарплаты посмотрите процедуру ВыполнитьКомандуРедактированияРезультатовРаспределенияНачисл­енийИУдержаний.
27. Rain88 373 31.05.17 10:50 Сейчас в теме
(26) Вот нашла где хранятся данные по распределению, в табличной части Начисления, в реквизите РезультатРаспределения (содержит массив по статьям и суммам), а в колонке КомандаРедактированияРаспределения - номер статьи с типом Строка.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
35. Rain88 373 31.05.17 13:57 Сейчас в теме
Чтобы ответить на вопрос точно, нужно вникать в код, как, что и где заполняется. Простите, времени на это нет. Я вам дала направление куда копать и где искать, теперь дело за вами)
2. Rain88 373 31.05.17 07:56 Сейчас в теме
Вы табличную часть РаспределениеРезультатовНачислений на форму вывели? Производите действия в документе Начисление зарплаты? Какая конфигурация?
3. 1c_uZer 31.05.17 08:00 Сейчас в теме
(2) вы вчера тоже мне уже помогали) вывести то вывел но опять же ничего не меняется и отследить по ней я ничего не могу, конфигурация ЗУП релиз 3.1.2.213.
5. Rain88 373 31.05.17 08:06 Сейчас в теме
(3) Знаю, поэтому и имеется интерес добить вашу тему) Сейчас у себя ваш код попробую воспроизвести и посмотреть, что у вас не получается.
6. 1c_uZer 31.05.17 08:08 Сейчас в теме
(5) там сразу говорю еще большая каша с массивами, но мне главное сейчас вывести все в разделе финансирование табличной части начисления.
4. 1c_uZer 31.05.17 08:05 Сейчас в теме
(2) а нет секунудочку....я вывел эту таблицу на форму отдельно и туда добавляются строки.
7. Rain88 373 31.05.17 08:12 Сейчас в теме
сделайте скрин пожалуйста. Я не вижу раздела финансирования. А точнее, нужно увидеть, где у вас там должны выводиться данные на форме.
8. 1c_uZer 31.05.17 08:19 Сейчас в теме
(7)
Прикрепленные файлы:
9. 1c_uZer 31.05.17 08:21 Сейчас в теме
(8) если нету даного столба то он включается Настройка- Расчет Зарплаты и там галка есть Использовать учет по Статьям финансирования
10. Rain88 373 31.05.17 08:22 Сейчас в теме
(8) Финансирование сами добавляли в тч начисления? У себя я не нашла такого реквизита.
11. 1c_uZer 31.05.17 08:23 Сейчас в теме
(10) если нет данного столбца то он включается Настройка- Расчет Зарплаты и там галка есть Использовать учет по Статьям финансирования
12. Rain88 373 31.05.17 08:28 Сейчас в теме
(11) К сожалению у меня такого нету, смотрю в КА, видимо в нее такого не добавили, хотя раздел зарплаты и ЗУП должны быть одинаковыми, ну да ладно. Судя по вашему коду вы не туда добавляете строки. Вам нужно увидеть данные в тч Начисления, значит в ней и надо менять данные. Либо после добавления в таблицу РаспределениеРезультатовНачислений должен выполниться еще какой-то стандартный код, который переносит данные в Начисления.
13. 1c_uZer 31.05.17 08:32 Сейчас в теме
(12) у меня тоже была такая мысль....вот сейчас копаюсь и ищу где она заполняется)
14. Rain88 373 31.05.17 08:35 Сейчас в теме
При нажатии на колонку финансирование, у вас открывается форма с табличкой?
15. Rain88 373 31.05.17 08:36 Сейчас в теме
Если так, то скорее всего данные заполняются через оповещение при закрытии той формы. Вот и посмотрите, что там да как формируется.
16. 1c_uZer 31.05.17 08:39 Сейчас в теме
(15) то есть мне найти событие ПриЗакрытии? и подскажите если не трудно при закрытии какой формы) просто я вроде ничего не закрывал.
17. Rain88 373 31.05.17 08:50 Сейчас в теме
(16)
При нажатии на строку по колонке финансирование, у вас открывается форма с табличкой?

Как вообще тч РаспределениеРезультатовНачислений заполняется, вручную?
18. 1c_uZer 31.05.17 08:55 Сейчас в теме
(17) она скрыта в конфигураторе)))
19. 1c_uZer 31.05.17 08:55 Сейчас в теме
(17) форма которая открывается при нажатии на поле финансирование
20. Rain88 373 31.05.17 08:58 Сейчас в теме
Не имея конфигурации под рукой, сложно что то понять(
21. 1c_uZer 31.05.17 08:59 Сейчас в теме
(20) ну я в любом случае буду разбираться) спасибо вам за помощь)
22. Rain88 373 31.05.17 09:16 Сейчас в теме
В поле финансирование таблицы Начисления какие данные должны выводиться? Общая сумма по статьям финансирования и способам отражения?
Если заполнить РаспределениеРезультатовНачислений, сохранить документ и открыть его, колонка финансирование в начислениях заполняется?
23. 1c_uZer 31.05.17 10:02 Сейчас в теме
(22) в каждой строке выводится код статьи финансирования и если нажать на него то открывается форма с табличной частью там стьтья финансирования, способ отражения в бу и сумма + можно вручную добавить свои данные
24. 1c_uZer 31.05.17 10:28 Сейчас в теме
(22)скажу даже больше при выполнении этой процедуры он удаляет все мои данные из поля финансирование
25. Rain88 373 31.05.17 10:37 Сейчас в теме +0.2 $m
Общий модуль ЗарплатаИКадрыРасширенныйКлиент, процедура ОткрытьФормуРедактированияРезультатовРаспределенияПоИсточник­амФинансирования и процедура ФормаРедактированияРезультатовРаспределенияПоИсточникамФинан­сированиПослеЗакрытия. Посмотрите, что в них происходит, это как раз открытие и закрытие формы РедактированиеРезультатовРаспределенияНачисленийИУдержаний. Не все так просто оказалось) Реквизита Финансирование у табличной части Начисления нет, видимо он формируется программно и заполняется при открытии документа.
В модуле формы документа Начисления зарплаты посмотрите процедуру ВыполнитьКомандуРедактированияРезультатовРаспределенияНачисл­енийИУдержаний.
26. 1c_uZer 31.05.17 10:42 Сейчас в теме
(25) вы такая умная=) спасибо вам большое)
27. Rain88 373 31.05.17 10:50 Сейчас в теме
(26) Вот нашла где хранятся данные по распределению, в табличной части Начисления, в реквизите РезультатРаспределения (содержит массив по статьям и суммам), а в колонке КомандаРедактированияРаспределения - номер статьи с типом Строка.
28. 1c_uZer 31.05.17 10:53 Сейчас в теме
(27) а можете скрин выслать? я вас понял но хочу убедиться что мы об одинаковых вещах говорим.
29. Rain88 373 31.05.17 11:05 Сейчас в теме
(28)
Прикрепленные файлы:
30. 1c_uZer 31.05.17 11:07 Сейчас в теме
(29) спасибо, то есть сейчас я так понял мне нужно поиграться с этой процедурой которая открывает эту форму....
31. Rain88 373 31.05.17 11:12 Сейчас в теме
(30) Попробуйте к вашему коду добавить заполнение данных в эти реквизиты. Процедуры, относящиеся к открытию и закрытию формы, тоже просмотрите на всякий случай.
32. 1c_uZer 31.05.17 12:31 Сейчас в теме
(31) так а мне их по ходу заполнять на клиенте придется так ведь?
33. Rain88 373 31.05.17 13:50 Сейчас в теме
(32) Думаю да, но могу ошибаться.
34. 1c_uZer 31.05.17 13:55 Сейчас в теме
(32) соответственно все что я сейчас делаю на севере мне нужно будет передать на клиент?
36. Rain88 373 31.05.17 18:03 Сейчас в теме
Получилось что-нибудь?
37. 1c_uZer 01.06.17 05:52 Сейчас в теме
(36) заполнил я эти реквизиты, но ничего не изменяется=)
39. 1c_uZer 01.06.17 06:55 Сейчас в теме
(36) "Объект недоступен для изменения." исправил но строки не разбиваются)
40. 1c_uZer 01.06.17 07:46 Сейчас в теме
(36) сейчас копаюсь в модулях и прыгаю из одного в другой.
38. 1c_uZer 01.06.17 06:48 Сейчас в теме
(37) пробовал через внешнюю обработку он мне ошибку выдает:

{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(76)}: Ошибка при вызове метода контекста (Добавить)
НовСтр = Объект.СсылкаНаОбъект.РаспределениеРезультатовНачислений.Добавить();
по причине:
Объект недоступен для изменения.
42. Rain88 373 01.06.17 07:50 Сейчас в теме
(40) Ответ именно в тех процедурах, которые я перечисляла )
41. Rain88 373 01.06.17 07:48 Сейчас в теме
(38) Конечно не будет доступен, нужно же сначала объект получить: ОбъектДок = СсылкаНаОбъект.ПолучитьОбъект(); А потом уже добавлять или изменять что-либо и не забыть потом записать документ. Но скорее всего добавленные строчки пропадут, потому что там завязка идет на перерасчетах после заполнения таблички.
43. 1c_uZer 01.06.17 07:52 Сейчас в теме
(42) вы уверены?) здесь из каждой процедуры я проваливаюсь вд ругую)
44. 1c_uZer 01.06.17 07:55 Сейчас в теме
(41)
ОбъектДок = СсылкаНаОбъект.ПолучитьОбъект()
, я так и сделал) додумался) но внешняя обработка тоже ситуацию не исправляет)
45. Rain88 373 01.06.17 07:58 Сейчас в теме
(44) Кстати, помимо заполнения колонки финансирование в тч Начисления, нужно будет еще, чтобы заполнялись данные по финансированию и на вкладке НДФЛ, иначе не дает сохранять документ.
46. 1c_uZer 01.06.17 08:00 Сейчас в теме
(45) это да) я уже думал об этом но решили сначала начисления заполнить) думаю если найти где проблема с начислениями то с НДФЛ будет попроще.
47. Rain88 373 01.06.17 10:11 Сейчас в теме
Реализовано через кнопку на форме документа Начисления зарплаты, при нажатии на которую получаем данные текущей выделенной строки для дальнейшего использования:

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

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

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

Показать
48. Rain88 373 01.06.17 10:16 Сейчас в теме
В функции ЗаполнитьДанными(Идентификатор) как раз и происходит добавление строчек твоего распределения. В данном случае у меня только одна строка. И кстати не забудь отслеживать, чтобы итоговая сумма по распределению была равна Результату из тч Начисления, иначе ругаться будет.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот