for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Вопросы по 1С
   :: Помощь сайту :: 

Re: Получить форму списка расходных накладных
Зингер
Автор

Сообщений: 520
Откуда: Белгород
Дата: 27.10.16 22:56:34ОтветитьЦитировать
Мой вариант вызова формы:
  
  &НаКлиенте  
  Процедура РасходныеНакладные(Команда)  
  	Параметр=Новый Структура();  
  	Параметр.Вставить("Документ",Объект.Ссылка);  
  	ФормаОбъекта=ПолучитьФорму("Документ.ОказаниеУслуги.Форма.ФормаСпискаСПараметром",Параметр,ЭтаФорма);	  
  	ФормаОбъекта.открыть();  
  КонецПроцедуры

На форме ФормаСпискаСПараметром также создал параметр Документ с типом ДокументСсылка.ПриходнаяНакладная. Также в реквизите Список в свойствах указал произвольный запрос. В запросе фигурирует параметр &Документ.
При вызове формы получаю ошибку
Цитата:
Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(17, 24)}: Не задано значение параметра "Документ"
Материалы.Ссылка = <<?>>&Документ)
Ratings: 0 negative/0 positive

Re: Получить форму списка расходных накладных
pasha_usue

Сообщений: 2916
Откуда: Е-бург
Дата: 28.10.16 06:47:12ОтветитьЦитировать
Зингер
Аспид
Надо в документе получить материал, и его передать в качестве параметра, и далее уже его подставлять в условие.
В исходном документе?
Т.е. я с Вашей помощью установил, что в качестве параметра нужно передать все-таки массив из номенклатуры, а не ссылку.
Вопрос, сводиться к тому как это сделать. Пока для меня это темный лес.
Учитесь пользоваться синтакс-помощником.

Синтакс-помощник
Глобальный контекст.ПолучитьФорму (Global context.GetForm)
Глобальный контекст (Global context)
ПолучитьФорму (GetForm)
Синтаксис:

ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>
Параметры:
Синтакс-помощник
<Параметры> (необязательный)

Тип: Структура.
То-есть, все, что вы передаете в форму в качестве параметров должно быть завёрнуто в объект "Структура" (по-сути, именованная коллекция). В моём примере так и сделано, массив вставляется в именованный элемент структуры.

Второе. Намекаю толсто. Передавать ссылку на документ в базе - бессмысленно! Документ может быть еще не записан в базу. Его там в принципе может не быть. Или пользователь уже поменял состав строк документа но хочет получить ваш список. Вы искусственно создаёте ситуацию, когда результат работы вашей кнопки не соответствует тому, что пользователь видит на экране.



Исправлено: pasha_usue, 28.10.16 08:12
Ratings: 0 negative/0 positive

Re: Получить форму списка расходных накладных
pasha_usue

Сообщений: 2916
Откуда: Е-бург
Дата: 28.10.16 06:57:26ОтветитьЦитировать
Зингер
На форме ФормаСпискаСПараметром также создал параметр Документ с типом ДокументСсылка.ПриходнаяНакладная. Также в реквизите Список в свойствах указал произвольный запрос. В запросе фигурирует параметр &Документ.
Во-первых, вы создали реквизит, а не параметр. И зачем он вам нужен, не совсем понятно. Солить его что ли?
Во-вторых, если в форму можно передать параметры, то, наверное, в форме можно и принять параметры?
  
  &НаСервере  
  Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)  
  	Если Параметры.Свойство("Документ") Тогда  
  		МойДинамическийСписок.Параметры.УстановитьЗначениеПараметра("Документ", Параметры.Документ);  
  	Иначе  
  		МойДинамическийСписок.Параметры.УстановитьЗначениеПараметра("Документ", NULL);  
  	КонецЕсли;  
  КонецПроцедуры

PS. Параметры это зарезервированный реквизит формы. Можно обратиться как ЭтаФорма.Параметры. Но внутри контекста формы доступно без указания "ЭтаФорма".



Исправлено: pasha_usue, 28.10.16 08:13
Ratings: 0 negative/0 positive

Re: Получить форму списка расходных накладных
pasha_usue

Сообщений: 2916
Откуда: Е-бург
Дата: 28.10.16 07:09:32ОтветитьЦитировать
Зингер
{(17, 24)}: Не задано значение параметра "Документ"
Материалы.Ссылка = <<?>>&Документ)
Не взлетит. (;Ж

Материалы это табличная часть документа. Табличная часть имеет уникальный идентификатор Материалы.Ссылка (_KeyField). А вам нужна ссылка на сам документ, то-есть, выше по иерархии, чем табличная часть документа: Материалы.Ссылка.Ссылка (_DocumentXXX_IDRRef).

В конструкторе запросов это видно достаточно наглядно: разворачиваешь материалы.ссылка и видишь реквизиты самого документа (материалы.ссылка.дата, материалы.ссылка.номер). В том числе и Материалы.Ссылка.Ссылка.

Скачайте консоль запросов 8.3 и отлаживайте запросы в режиме предприятия (рантайме).
Ratings: 0 negative/0 positive

Re: Получить форму списка расходных накладных
Зингер
Автор

Сообщений: 520
Откуда: Белгород
Дата: 28.10.16 09:31:35ОтветитьЦитировать
О, пришел pasha_usue и все разрулил. Заработало!

pasha_usue
Скачайте консоль запросов 8.3 и отлаживайте запросы в режиме предприятия (рантайме).
Как раз я с консолью и тренируюсь.
Вся "заковыка" была в передаче и принятии параметров.
В доках, что у меня есть, написано очень кратко. И примеров на эту тему нет вообще.

Спасибо за помощь. Буду дальше "грызть"!
Ratings: 0 negative/0 positive

Re: Получить форму списка расходных накладных
Foxtrot

Сообщений: 3303
Откуда: Бишкек
Дата: 28.10.16 13:35:49ОтветитьЦитировать
на просторах интернета столько готовых конфигураций в качестве примера просто ужос
возьми любую и ковыряй дока не надоест зачем велик изобретаешь, время тратишь


------------------
P.S. будете проходить мимо, не стесняйтесь, проходите
Ratings: 0 negative/0 positive

Re: Получить форму списка расходных накладных
Зингер
Автор

Сообщений: 520
Откуда: Белгород
Дата: 28.10.16 14:46:39ОтветитьЦитировать
Foxtrot
на просторах интернета столько готовых конфигураций в качестве примера просто ужос
возьми любую и ковыряй дока не надоест зачем велик изобретаешь, время тратишь

У меня 3 разных конфигурации, плюс конфа с консолью запросов. Читать и глазеть на чужой код это одно, а вот когда сам шишки понабьешь это совсем другое. Опыт однако...

Вобщем, у каждого свой путь познания.
Ratings: 0 negative/0 positive

Re: Получить форму списка расходных накладных
Simple777

Сообщений: 19740
Дата: 28.10.16 17:23:03ОтветитьЦитировать
Зингер
у каждого свой путь познания.

[attachment 26144 sizif3.jpg]
Ratings: 0 negative/0 positive


Вложения:
[sizif3.jpg (42.6KB)]  



Извините, только зарегистрированные пользователи могут писать в этом форуме.

On-line: 14 PuMa  and Guests: 13


© 2000-2018 Fox Club 
Яндекс.Метрика