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

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

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

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

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

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

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

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



Исправлено 2 раз(а). Последнее : pasha_usue, 28.10.16 08:12
Ratings: 0 negative/0 positive
Re: Получить форму списка расходных накладных
pasha_usue

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

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



Исправлено 2 раз(а). Последнее : pasha_usue, 28.10.16 08:13
Ratings: 0 negative/0 positive
Re: Получить форму списка расходных накладных
pasha_usue

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

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

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

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

Сообщений: 541
Откуда: Белгород
Дата регистрации: 02.12.2008
О, пришел pasha_usue и все разрулил. Заработало!

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

Спасибо за помощь. Буду дальше "грызть"!
Ratings: 0 negative/0 positive
Re: Получить форму списка расходных накладных
Foxtrot

Сообщений: 3408
Откуда: Куда:
Дата регистрации: 25.04.2003
на просторах интернета столько готовых конфигураций в качестве примера просто ужос
возьми любую и ковыряй дока не надоест зачем велик изобретаешь, время тратишь


------------------
Мойте ноги, моя ноги вы моете и руки
Ratings: 0 negative/0 positive
Re: Получить форму списка расходных накладных
Зингер
Автор

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

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

Вобщем, у каждого свой путь познания.
Ratings: 0 negative/0 positive
Re: Получить форму списка расходных накладных
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Зингер
у каждого свой путь познания.

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


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

On-line: 2 (Гостей: 2)

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