|
Выбор Основного договора | ☑ | ||
---|---|---|---|---|
0
zzzLEXzzz
26.09.12
✎
17:38
|
Доброго времени суток.
Проблема такая. Вот в УТ в справочнике "контрагенты" есть вкладка "Счета и договора" там мы добавляем договора и там есть такой признак "основной". как можно обратиться к этому признаку? Я так понял надо делать так НайтиПоРеквизиту("ОсновнойДоговорКонтрагента",); Во втором параметре должно быть искомое значение, но как сделать так чтобы он понял что выбирать только основной договор, то что выделено жирным шрифтом |
|||
1
Amra
26.09.12
✎
17:40
|
(0) Скорее всего как Контрагент.ОсновнойДоговор
|
|||
2
DrShad
26.09.12
✎
17:40
|
у контрагента есть реквизит ОсновнойДоговор и в нем ссылка на элемент справочника, так что не нужно ничего искать
|
|||
3
zzzLEXzzz
26.09.12
✎
17:45
|
Спасибо что так отозвались быстро, DrShad я просто не опытный в 1с можно по подробнее, я видел что есть ссылка на элемент, но как правильно реализовать ума не приложу
|
|||
4
Naumov
26.09.12
✎
17:49
|
(3) Ты бы земным русским сперва объяснил чего хочешь, а то как-то непонятно
|
|||
5
DrShad
26.09.12
✎
17:52
|
(4)+1
я тоже невкурил что ты с ним хочешь дальше делать |
|||
6
zzzLEXzzz
26.09.12
✎
17:57
|
В общем, есть обработка которая скидывает с КПК приходые ордера, мне надо чтобы когда формировался документ в реквезит "договор" попадал именно тот договор который забит у контрагента как основной.
вот полный код функции функция ДобавитьПКО(Агент_,НомерЗаказаДелф,НомерЗаказа_,ДатаОперации_,ВремяОперации_,Контрагент_,Сумма_,АдресДоставки_,Касса_) Качество = Справочники.Качество.НайтиПоКоду("000000001"); ОпрКонф = "0"+ Лев(СокрЛП(Контрагент_),1); Если Преф <> ОпрКонф Тогда //Сообщить("Контагент не данной системы"); Возврат 0; КонецЕсли; Контрагент_ = УП(Контрагент_); Контрагент1С_=Справочники.Контрагенты; Договор1С_ = Справочники.ДоговорыКонтрагентов; Договор2С_ = Справочники.Контрагенты; Док_=Документы.ПриходныйКассовыйОрдер; ТоргПред_=Справочники.мбАгенты.НайтиПоРеквизиту("ИмяКПК",Агент_.ИмяКПК); Док_=Документы.ПриходныйКассовыйОрдер.СоздатьДокумент(); // Добиваем код нулями КодВР_=Контрагент_; Для ИТ_=1 по 9-СтрДлина(Контрагент_) Цикл КодВР_="0"+КодВР_; КонецЦикла; Контрагент_=КодВР_; Расшифровка = Док_.РасшифровкаПлатежа.Добавить(); Док_.IdMobile=Агент_.ИмяКПК+НомерЗаказаДелф+ДатаОперации_; Док_.ОтражатьВБухгалтерскомУчете = Истина; Док_.ОтражатьВНалоговомУчете = Истина; Док_.ОтражатьВУправленческомУчете = Истина; Док_.Оплачено = Истина; Док_.ОтраженоВОперУчете = Истина; Док_.ВидОперации = Перечисления.ВидыОперацийПКО.ОплатаПокупателя; Док_.СтавкаНДС = Перечисления.СтавкиНДС.НДС18; Расшифровка.СтавкаНДС = Перечисления.СтавкиНДС.НДС18; Док_.Организация=Справочники.Организации.НайтиПоКоду("000000001"); Док_.Касса = Справочники.Кассы.НайтиПоКоду("000000001"); Если Преф = "01" Тогда Если Касса_ = "1" Тогда Док_.Организация=Справочники.Организации.НайтиПоКоду("000000001"); Док_.Касса = Справочники.Кассы.НайтиПоКоду("000000001"); ИначеЕсли Касса_= "2" Тогда Док_.Организация=Справочники.Организации.НайтиПоКоду("000000002"); Док_.Касса = Справочники.Кассы.НайтиПоКоду("000000002"); КонецЕсли; ИначеЕсли Преф = "02" Тогда Если Касса_ = "1" Тогда Док_.Организация=Справочники.Организации.НайтиПоКоду("000000003"); Док_.Касса = Справочники.Кассы.НайтиПоКоду("000000003"); ИначеЕсли Касса_= "2" Тогда Док_.Организация=Справочники.Организации.НайтиПоКоду("000000004"); Док_.Касса = Справочники.Кассы.НайтиПоКоду("000000004"); КонецЕсли; ИначеЕсли Преф = "00" Тогда Сообщить ("Ошибка"); КонецЕсли; Док_.Контрагент=Контрагент1С_.НайтиПоКоду(СокрЛП(Контрагент_),0); //Док_.Контрагент=Справочники.Контрагенты.НайтиПоКоду("000000317"); Док_.ПринятоОт = СокрЛП(Док_.Контрагент); Док_.Основание = "выручка от реализации"; Дог1С = Договор1С_.НайтиПоРеквизиту("Организация",Док_.Организация,,Док_.Контрагент); Дог2С = Договор2С_.НайтиПоРеквизиту("ОсновнойДоговорКонтрагента",??????????????????????????????????????????????????); Если Дог2С = Договор2С_.ПустаяСсылка() Тогда Сообщить("ошибка"); КонецЕсли; Если СокрЛП(Дог1С) = "" Тогда Док_.ДоговорКонтрагента=Док_.Контрагент.ОсновнойДоговорКонтрагента; Иначе Док_.ДоговорКонтрагента = Дог2С; КонецЕсли; Док_.Дата=ТекущаяДата(); Док_.КурсДокумента = 1; Док_.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000002"); Расшифровка.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000002"); Расшифровка.КурсВзаиморасчетов = 1; ПрефиксЮрЛицаФирмы = ?(СокрЛП(Док_.Организация.Префикс)="","0",СокрЛП(Док_.Организация.Префикс)); Док_.УстановитьНовыйНомер(СокрЛП(ПрефиксЮрЛицаФирмы)); Док_.ВалютаДокумента = Справочники.Валюты.НайтиПоКоду("643"); Док_.СуммаДокумента = Сумма_; Расшифровка.ДоговорКонтрагента = Док_.ДоговорКонтрагента; Расшифровка.СуммаПлатежа = Сумма_; Расшифровка.СуммаВзаиморасчетов = Сумма_; Расшифровка.СуммаНДС = Сумма_*18/118; Док_.Записать(); КонецФункции; Где Вопросы я незнаю что прописать. |
|||
7
zzzLEXzzz
26.09.12
✎
17:57
|
Извеняюсь за запятые
|
|||
8
DrShad
26.09.12
✎
17:58
|
Дог1С = Док_.Контрагент.ОсновнойДоговор;
|
|||
9
zzzLEXzzz
26.09.12
✎
18:05
|
{Форма.Форма.Форма(172)}: Поле объекта не обнаружено (ОсновнойДоговор)
Ошибка |
|||
10
shuhard
26.09.12
✎
18:08
|
(9) блеать
ну открой ты конфигуратор реквизит называется ОсновнойДоговорКонтрагента |
|||
11
Шапокляк
26.09.12
✎
18:09
|
(9) тогда ОсновнойДоговорКонтрагента
(6) извините за отступление от темы, особенно порадовало КодВР_=Контрагент_; Для ИТ_=1 по 9-СтрДлина(Контрагент_) Цикл КодВР_="0"+КодВР_; КонецЦикла; Контрагент_=КодВР_; |
|||
12
DrShad
26.09.12
✎
18:11
|
(11) ну учится человек и еще не дошел до Формат()
хотя за такой код могут и не заплатить |
|||
13
zzzLEXzzz
27.09.12
✎
09:06
|
Благодарю всех кто помог, всё получилось, и извиняюсь за тупость, просто начинающий, поэтому туго доходит )))
|
|||
14
zzzLEXzzz
27.09.12
✎
09:26
|
нееее ребят, не подходит эта система, вы та объяснили всё правильно, эт я чуточку тупанул, нельзя привязываться к основному, т.к. у нас 2 организации в одной базе, и торговые скидывают то по одной организации, то подругой, тут тогда всплывает вопрос, как тогда исключить договора в котором есть наименование "бонус" и "оборудования" ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |