На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:

  • Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
  • Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
  • Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.

Высказать своё мнение о модераторах раздела можно здесь: evGenius
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> договор контрагента
    Бух 3.0, не вытаскивается договор контрагента.
    делаю так:
    ФормаКонтрагент - справочник.ссылка.контрагент
    ExpandedWrap disabled
      &НаКлиенте
      Процедура Сформировать(Команда)
              
          НайтиДоговорКонтрАгента(ФормаКонтрагент);
      КонецПроцедуры
       
      &НаСервере
      Процедура НайтиДоговорКонтрАгента(ФормаКонтрагент)
          КАгент = Новый Структура;
          КАгент.Вставить("Контрагент",ФормаКонтрагент);
          ФормаДоговор = РегистрыСведений.ОсновныеДоговорыКонтрагента.Получить(ТекущаяДата(),КАгент)[0];
          
      КонецПроцедуры


    Пишет "несоответствие типов"
      Откуда взялась ФормаКонтрагент? Кусок кода можно?
        evGenius
        Это реквизит на форме, не более того.
        Прикреплённый файлПрикреплённый файл____________.zip (3,68 Кбайт, скачиваний: 122)
          Цитата ^D^ima @
          Это реквизит на форме, не более того.

          И какой тип попадает в твою функцию?
            справочник.ссылка.контрагент, я написал.

            Или для регистров сведений нужны все реквизиты? Там их 3
              Цитата ^D^ima @
              Это реквизит на форме, не более того.

              Это строка. Ты уверен, что по строке сработает поиск договора? Раз ругается на несоответствие типов, то скорее всего надо ссылку на контрагента передавать.

              Добавлено
              Цитата ^D^ima @
              ФормаКонтрагент - справочник.ссылка.контрагент

              У меня открылось, как строка.
                Нет, как ссылка
                Прикреплённый файлПрикреплённый файл1.png (36,17 Кбайт, скачиваний: 555)
                  Ты в ФормаДоговор пытаешься запись регистра запихнуть. Надо дописать что-то типа".Договор".
                    evGenius
                    Я делаю вообще сообщить, то-же самое

                    ExpandedWrap disabled
                      &НаСервере
                      Процедура НайтиДоговорКонтрАгента(ФормаОрганизация,ФормаКонтрагент)
                          
                          Сообщить(ФормаКонтрагент);
                       
                          КАгент = Новый Структура;
                          КАгент.Вставить("Организация",ФормаОрганизация);
                          КАгент.Вставить("Контрагент",ФормаКонтрагент);
                          КАгент.Вставить("ВидДоговора",Перечисления.ВидыДоговоровКонтрагентов.СПокупателем);
                       
                          Сообщить(РегистрыСведений.ОсновныеДоговорыКонтрагента.Получить(ТекущаяДата(),КАгент)[0]);
                       
                       
                      КонецПроцедуры
                      Так а как программа будет сообщать запись регистра?
                        Я думаю что должна сообщить, так-же как и ссылку на контрагента.

                        Ошибка все-равно в чем-то другом, через отладчик не вычислить сообщение
                        Прикреплённый файлПрикреплённый файл____________________.png (32,33 Кбайт, скачиваний: 585)
                          Проблема в том, что регистр сведений непериодический, у метода Получить() не должно быть параметра-даты, только отбор.

                          Добавлено
                          ExpandedWrap disabled
                            &НаСервере
                            Процедура НайтиДоговорКонтрАгента(ФормаОрганизация,ФормаКонтрагент)
                             
                                КАгент = Новый Структура;
                                КАгент.Вставить("Организация",ФормаОрганизация);
                                КАгент.Вставить("Контрагент",ФормаКонтрагент);
                                КАгент.Вставить("ВидДоговора",Перечисления.ВидыДоговоровКонтрагентов.СПокупателем);
                             
                                ФормаДоговор = РегистрыСведений.ОсновныеДоговорыКонтрагента.Получить(КАгент)[0].Договор;
                             
                            КонецПроцедуры
                            Цитата evGenius @
                            не должно быть параметра-даты, только отбор.

                            :crazy: :crazy: :crazy:
                            А это тогда о чем?
                            Прикреплённый файлПрикреплённый файл____________________.png (6,02 Кбайт, скачиваний: 579)
                              ошибка все-равно остается:
                              Прикреплённый файлПрикреплённый файлError.png (17,23 Кбайт, скачиваний: 578)
                                В итоге сделал так: Ид другого справочника взял данные.
                                ExpandedWrap disabled
                                      ДоговорКонтрАгента = новый Запрос;
                                      ДоговорКонтрАгента.Текст = "ВЫБРАТЬ
                                                                 |    ДоговорыКонтрагентов.Ссылка
                                                                 |ИЗ
                                                                 |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
                                                                 |ГДЕ
                                                                 |    ДоговорыКонтрагентов.Владелец = &Владелец
                                                                 |    И ДоговорыКонтрагентов.Организация = &Организация";
                                      ДоговорКонтрАгента.УстановитьПараметр("Организация",ФормаОрганизация);
                                      ДоговорКонтрАгента.УстановитьПараметр("Владелец",ФормаКонтрагент);
                                      
                                      Выборка = ДоговорКонтрАгента.Выполнить().Выбрать();
                                      
                                      Выборка.Следующий();
                                      
                                      ФормаДоговор=Выборка.ссылка;


                                Вместо запроса пытался сделать структуру, не получилось.
                                ExpandedWrap disabled
                                  КАгент = Новый Структура;
                                  КАгент.Вставить("Организация",ФормаОрганизация);
                                  КАгент.Вставить("Владелец",ФормаКонтрагент);
                                  ФормаДоговор = Справочники.ДоговорыКонтрагентов.ПолучитьДанныеВыбора(КАгент);


                                Ещё одно непонятное:
                                В справочнике ДоговорКонтрАгента нет реквизита Владелец.
                                - Я не наблюдаю его визуально. проверил все реквизиты, нигде нет ни названия "Владелец" ни ссылки на контрагента у других реквизитов.
                                - Этот код
                                ExpandedWrap disabled
                                  ФормаДоговор = Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("Владелец",ФормаКонтрагент);
                                ругается на Неверно указан реквизит. При этом такой код:
                                ExpandedWrap disabled
                                  ФормаДоговор = Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("Организация",ФормаОрганизация);
                                  Сообщить(ФормаДоговор.Владелец);

                                Отрабатывает на ура. Т.е в запросе можно указать это реквизит, сообщить его можно, но найти по нему нельзя(его и нет в справочнике в принципе). Откуда вашу **** взялся этот Владелец??????? :wall:
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0974 ]   [ 26 queries used ]   [ Generated: 19.04.24, 00:46 GMT ]