Вывод ссылки на документ

1. user1004991 16.12.20 23:57 Сейчас в теме
Добрый день . Только начала изучать программирование. Знаю что это возможно но уже сломала весь мозг уже.

Есть документ Оплата поставщикам который выводит задолженность перед поставщиками на определенную дату. В этом же документе проставляются суммы оплаты. На основании этих данных создаются стандартные документы оплаты.

что нужно сделать для того что бы в графе платежка выводилась ссылка либо на РКО либо на списание с банковского счета (в зависимости от вида оплаты).
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Raideres 8 17.12.20 01:00 Сейчас в теме
(1)Как я понял вы нажимаете кнопку создать и провести оплату и должны создать платежки.

Если эту кнопку делали вы то думаю не составит труда просто присвоить строке значение.

Строка.платежка=ссылкадок
Swetlana; +1 Ответить
4. user1004991 17.12.20 01:40 Сейчас в теме
(2) Вот код можете подсказать куда нужно вставить?

Вот сам код:

&НаКлиенте
Процедура СоздатьДокументыОплаты(Команда)
	Если Модифицированность Тогда
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Сначала запишите документ");
		Возврат;
	КонецЕсли;
	СоздатьОплатуНаСервере()

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


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


			НовДок.Записать(РежимЗаписиДокумента.Запись);
		 		Попытка
			
			НовДок.Записать(РежимЗаписиДокумента.Проведение);
		Исключение
			МассивДоков.Добавить(НовДОк.Ссылка);
			
		КонецПопытки;
		
	КонецЦикла; 
			
	
		

КонецФункции
Показать
5. Swetlana 26 17.12.20 08:21 Сейчас в теме
(4) У вас идет только создание документов оплаты, судя по коду
Вам нужно еще обойти список документов в (1) и присвоить созданную платежку каждой из строки документов
3. user1004991 17.12.20 01:05 Сейчас в теме
Да при нажатии этой кнопки создаются документы все окей, но я никак не могу понять куда и что мне нужно всунуть что бы были ссылки на документы .
6. user1004991 17.12.20 12:15 Сейчас в теме
(5) логически я понимаю но меня чет меня реально глючит и я не знаю что мне писать ....
7. Raideres 8 17.12.20 18:02 Сейчас в теме
(6)
МассивСтрок = Объект.Долг.НайтиСтроки(СтруктураОтбора)

Тут у вас как раз есть список строк
Пишу с телефона просто

Для каждого стр Из массивстрок Цикл
  Стр.платежка=новдок.ссылка;
Конеццикла;
Оставьте свое сообщение

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