Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Динамический список выбора номенклатуры          
Constantus Подменю пользователя
сообщение 21.05.16, 11:47
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, Форумчане!

УТ 10.3, 1с8.2, обычное.

Возможно ли сделать такое? Имеется Самописный документ "Заявка" с 10 номенклатурами. (номенклатура(ссылка), кол-во, цен, сумма)

Необходимо заполнить частичный "заказ Поставщику" по данной "Заявке", например выбрать только 4 позиции.

При этом, чтобы поле выбора Номенклатуры в "Заказе Поставщику" ссылалось не на общий справочник Номенклатур, а был динамическим, т.е. мог выбирать только
из указанной "Заявки". Т.е. открылся список только тех товаров, которые указаны в Заявке.

Делается для того, чтобы (1) Ускорить выбор, (2) Не был выбран ошибочно другой товар из большого списка всех Номенклатур

Пытаюсь в Справочнике Номенклатуры создать новую форму выбора с динамическим списком:

ВЫБРАТЬ
    Номенклатура.Ссылка,
    Номенклатура.Код,
    Номенклатура.Наименование,
    ТендерыЗаказТендера.Ссылка КАК Ссылка1,
    ТендерыЗаказТендера.Номенклатура,
    ТендерыЗаказТендера.Номенклатура.Ссылка
ИЗ
    Документ.Тендеры.ЗаказТендера КАК ТендерыЗаказТендера
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
        ПО ТендерыЗаказТендера.Номенклатура.Ссылка = Номенклатура.Ссылка
ГДЕ
    ТендерыЗаказТендера.Ссылка = &Ссылка


Выдает ошибку:

Ошибка в запросе набора данных
по причине:
{(11, 48)}: Неоднозначное поле "Номенклатура.Ссылка"
ПО ТендерыЗаказТендера.Номенклатура.Ссылка = <<?>>Номенклатура.Ссылка


Если я правильно иду, то нужно как-то передать условие.

Ошибку исправил.

Создал в Справочнике "Номенклатура" новую форму "ФормаВыбора2" (динамический список с указанным выше кодом). Основная таблица - справочник.номенклатура

ВЫБРАТЬ
    СправочникНоменклатуры.Ссылка,
    СправочникНоменклатуры.Наименование,
    ТендерыЗаказТендера.Ссылка КАК Ссылка1,
    ТендерыЗаказТендера.Номенклатура
ИЗ
    Документ.Тендеры.ЗаказТендера КАК ТендерыЗаказТендера
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатуры
        ПО ТендерыЗаказТендера.Номенклатура = СправочникНоменклатуры.Ссылка
ГДЕ
    ТендерыЗаказТендера.Ссылка = &Ссылка


В документе "Заказ Поставщику" Есть реквизит "ЗаказТендера" (ссылка на самописный документ "Заявка").
В ТЧ "Заказов" у реквизита "Номенклатура" поменял форму выбора на "ФормаВыбора2"

Как мне теперь сделать, чтобы сработало условие "ТендерыЗаказТендера.Ссылка = &Ссылка", т.е. передать "&Ссылка" этому динамическому списку из документа "ЗаказПоставщику, т.е ссылку на реквизит в шапке "ЗаказТендера"?

Vofka Подменю пользователя
сообщение 23.05.16, 8:13
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Constantus, в обычных формах есть элемент типа "Динамический список"?

Constantus Подменю пользователя
сообщение 23.05.16, 9:57
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Вовка! Я в справочнике "Номенклатуры" создал новую форму для выбора как управляемую. Код динамического списка проверил, срабатывает правильно.

На обычной форме есть реквизит-ссылка "Заявка", вот этот реквизит и нужно передать в параметр динамического списка...

Vofka Подменю пользователя
сообщение 23.05.16, 10:36
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(Constantus @ 23.05.16, 10:57) *
Я в справочнике "Номенклатуры" создал новую форму для выбора как управляемую

Ну так почему тогда создаете тему в разделе для обычных форм? faceoff.gif Переезжаем.

По теме. В запросе измените псевдоним справочнику Номенклатура на, например, СпрНоменклатура

Constantus Подменю пользователя
сообщение 23.05.16, 11:26
Сообщение #5

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Понимаю, но есть один парадокс...

Выбор Номенклатуры и передача параметра осуществляется из "Обычной формы", а форма выбора - управляемая... Вопрос получился гибридным

И так как основные действия осуществляются в обычной форме, то и разместил тему здесь... Естественно - не оспариваю решение...

sava1 Подменю пользователя
сообщение 23.05.16, 12:20
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

А УФ зачем ?

Constantus Подменю пользователя
сообщение 23.05.16, 12:45
Сообщение #7

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Потому что у обычной формы нет динамического списка... Динамическим списком (запросом) я получаю выбранную в запросе Номенклатуру...

sava1 Подменю пользователя
сообщение 23.05.16, 12:56
Сообщение #8

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

А если просто юзать отбор на ОФ?

Constantus Подменю пользователя
сообщение 23.05.16, 13:30
Сообщение #9

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

У меня была мысль сделать некую форму, а потом кодом типа:

    ЭтаФорма.Отбор.Наименование.Использование=Истина;
    ЭлементыФормы.СправочникСписок.Значение.Отбор.Наименование.ВидСравнения = ВидСравнения.ВСписке;
    ЭлементыФормы.СправочникСписок.НастройкаОтбора.Наименование.Доступность = Ложь;


Но вопрос в том, что как сделать ОФ, данные которой состоят из данных Табличной Части????

Попытался сделать ОФ на базе "ФормыДокумента", отключил данные Шапки и получил список ТЧ, но там нету ссылки на основной документ, т.е. я не смогу отфильтровать по ссылке...

sava1 Подменю пользователя
сообщение 23.05.16, 13:34
Сообщение #10

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

1. создаем форму подбора с табл.полем (Данные - спр.Номенклатура).
2. при подборе передаем в форму подбора ссылку на док.
3. Выгружаем ТЧ в список, устанавливаем отбор /в списке/
4. Запрещаем пользователю менят отбор.

Constantus Подменю пользователя
сообщение 23.05.16, 13:47
Сообщение #11

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

1. В справочнике создал УФ "Форма1" с правильно работающим запросом (проверял), где условием отбора является

ГДЕ ТендерыЗаказТендера.Ссылка = &Ссылка


2. В Документе "ЗаказПокупателя" (ФормаДокумента) в шапке имеется реквизит с нужной ссылкой для условия отбора "Заявка"

3. В ТЧ на событие ТоварыНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка) пытаюсь повесить код:

    Форма =  ПолучитьФорму("Справочник.Номенклатура.Форма.Форма1"); 
    Форма.Открыть();


Открывается нужная форма.

4. Но как передать отбор при открытии этой "Форма1", а именно чтобы в запросе было типа:

ГДЕ ТендерыЗаказТендера.Ссылка = ЭлементыФормы.Заявка


Пытался:

Форма.СписокДокумент.Параметры.УстановитьЗначениеПараметра("Ссылка",ЭлементыФормы.Заявка);


Без результатно. Как правильно передать параметр отбора?

sava1 Подменю пользователя
сообщение 23.05.16, 14:08
Сообщение #12

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

[необходимо зарегистрироваться для просмотра ссылки]

Спасибо сказали: mister-x,

Constantus Подменю пользователя
сообщение 23.05.16, 15:17
Сообщение #13

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Всё оказывается работает, но

1. Чтобы увидеть список необходимо выбрать руками режим просмотра: "Список". Как теперь программно открыть этот список в режиме "Список"?

2. К сожалению, при нажатии на нужную номенклатуру, открывается Справочник Номенклатуры и не заносит в ТЧ Документа. Как сделать, чтобы при клике вставлялись данные в ТЧ Документа?

tatamodka Подменю пользователя
сообщение 27.05.16, 10:17
Сообщение #14

Общительный
**
Группа: Пользователи
Сообщений: 13
Спасибо сказали: 0 раз
Рейтинг: 0

Динамический список сами добавляете, или он уже есть на форме? Динамический список используется только для справочника Номенклатура или в зависимости от запроса может отображаться любой справочник?

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 12:31
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!