Вход | Регистрация
 

Динамический Список обращение к колонке

Динамический Список обращение к колонке
Я
   Peshalkin
 
22.11.20 - 10:26
Добрый день, такой вопрос, нужно обратиться к полю Динамического списка, есть запрос, который по данным из реквизита производит поиск и если данные совпадают, то в пустое поле в ДС, должны попасть опр. данные, но вот обратиться ДинамическийСписок.Колонка не получается к нему, поле не найдено ошибка, может кто-то подсказать, как обратиться на прямую к колонке или возможно только динамический список выгрузить в таблицу значений и после уже обращаться в результат?
   Ненавижу 1С
 
1 - 22.11.20 - 11:13
Использовать событие ПриПолученииДанныхНаСервере
   Peshalkin
 
2 - 22.11.20 - 11:31
(1) Извиняюсь, что сразу не уточнил, а если делать при изменении какого-то конкретного реквизита, допустим Реквизит (Город)
   RomanYS
 
3 - 22.11.20 - 11:53
(2) в ДС нет изменения, он только показывает данные. Данные изменились - ДС нужно обновить
   Peshalkin
 
4 - 22.11.20 - 12:02
(3) У меня проблема в том, что я не понимаю, по какой причине у меня не отрабатывает ПриИзменении, я даже через отладчик не могу посмотреть, что у меня передаётся в Переменную мою, Скриншот - https://dropmefiles.com/lXhfy
   RomanYS
 
5 - 22.11.20 - 12:09
(4)
1. Перечитай (3) и пойми, что ПриИзменении вызываться не будет
2. Идея запроса для каждой строки - плохая. Укажи источником у ДС произвольный запрос и в этом запросе сразу вытащи цены.
   Peshalkin
 
6 - 22.11.20 - 12:12
(5) Да, я уже пробовал в произвольном запросе вытащить цены и через, но проблема в том, что нужно именно по городу отследить, то-есть после того как в справочнике будет задан Город и Тип цены, если цена в РС есть, то цена будет выгружаться в нужную колонку, если цены нет, то будет проставляться 0
   Peshalkin
 
7 - 22.11.20 - 12:13
(5) При изменении стоит не для ДС, а для Реквизитов Город и ТипЦены, Для ДС стоит СписокПриПолученииДанныхНаСервере, только проблема в том, что когда Город и ТипЦены меняются, запрос не выполняется, вот в чем проблема сама, я не понимаю, по какой причине у меня не выполняется запрос, чтобы эти данные уже передать в ПриПолученииДанныхНаСервере
   Василий Алибабаевич
 
8 - 22.11.20 - 12:32
(7)
1. "Город" и "типЦены" должны быть параметрами запроса.
2. При изменении реквизитов формы нужно изменять соотвествующий параметр запроса ДС.
3. Все. Никаких ПРиПолученииДанных... не нужно.
   Peshalkin
 
9 - 22.11.20 - 12:44
(8) Я пытался так сделать, но если я в произвольный запрос ДС вытаскиваю номенклатура и Цену из РС, то после того, как Город и ТипЦены Заполняется, у меня в справочнике остаются только те товары, которые там есть, хочется сделать именно в таком формате, что после выбора города и ТипаЦены, цены заполнялись те, которые есть, а если по каким-то причинам цена отсутствует, то просто цена вставлялась 0, но через запрос у меня так не получилось сделать, приходится делать через ПриПолученииДанных, но там я не могу проверить заполненность Реквизитов "Город" и "ТипЦены"
   RomanYS
 
10 - 22.11.20 - 12:47
(9)соединение в запросе должно быть левое и условия на регистр цен должны быть или в параметрах ВТ или в условиях соединения. Но не в ГДЕ!
   Peshalkin
 
11 - 22.11.20 - 12:51
(10) У меня так и стоит, Левое Соединение и Параметры указаны не в ГДЕ, но проблема в том, что когда я запускаю Справочник, у меня пустой Справочник, что я должен указать в событии ПриИзменении Реквизита, не совсем понимаю, может из-за этого он пустой и оказывается у меня
   Peshalkin
 
12 - 22.11.20 - 12:53
(10) Я пытаюсь добиться того, чтобы просто при открытии Справочника, у меня отображалась вся номенклатура, а после уже заполнения 2х реквизитов, цена проставлялась на товар, но вот проблема в том, что при открытии Справочник уже пустой
   RomanYS
 
13 - 22.11.20 - 12:58
(11) запрос выкладывай. (8) абсолютно прав, ПриИзменении Реквизита ты должен заполнить параметры ДС и возможно вызвать его обновление, если оно не происходит автоматом
   Peshalkin
 
14 - 22.11.20 - 13:01
(13) Я правильно понял, что запрос ДС нужен? - https://dropmefiles.com/GdShZ
   RomanYS
 
15 - 22.11.20 - 13:06
(14) понял правильно, выкладывать лучше текстом.
А запрос - полное г.
Основной таблицей(она же левая) должен быть Справочник. Все данные кроме цены должны браться из справочника.
   Peshalkin
 
16 - 22.11.20 - 13:11
(15) Тут извиняюсь, да, забыл убрать Цену, которую беру из справочника, не совсем понимаю, что не так с запросом, я беру все данные с Справочника, цену я беру из РС, левое соединение и параметры указываю в условие ВТ, но при запуске самого справочника, у меня все поля пустые, пока я не заполню 2 значения, а как мне сделать так, чтобы у меня Справочник отображался полностью, пока я не заполню Город и ТипЦены, вот этого я не совсем понимаю
   Peshalkin
 
17 - 22.11.20 - 13:20
(15) Исправил запрос, не увидел, что когда я меня местами Основую таблицу, он переименовавал её и данные просто не отображались. Мне теперь просто нужно при изменении поставить Обновление ДС?

ВЫБРАТЬ
    Номенклатура1.Ссылка КАК Ссылка,
    Номенклатура1.ВерсияДанных КАК ВерсияДанных,
    Номенклатура1.ПометкаУдаления КАК ПометкаУдаления,
    Номенклатура1.Родитель КАК Родитель,
    Номенклатура1.ЭтоГруппа КАК ЭтоГруппа,
    Номенклатура1.Код КАК Код,
    Номенклатура1.Наименование КАК Наименование,
    Номенклатура1.Гарантия КАК Гарантия,
    Номенклатура1.Категория КАК Категория,
    Номенклатура1.ВидТовара КАК ВидТовара,
    Номенклатура1.ВидНоменклатуры КАК ВидНоменклатуры,
    Номенклатура1.СтавкаНДС КАК СтавкаНДС,
    Номенклатура1.Состав.(
        Ссылка КАК Ссылка,
        НомерСтроки КАК НомерСтроки,
        Товар КАК Товар,
        Количество КАК Количество,
        КомплектующееДляРазбора КАК КомплектующееДляРазбора
    ) КАК Состав,
    Номенклатура1.Предопределенный КАК Предопределенный,
    Номенклатура1.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
    Номенклатура1.Цена КАК Цена
ИЗ
    Справочник.Номенклатура КАК Номенклатура1
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                ,
                Город = Город
                    И ТипЦены = ТипЦены) КАК ЦеныНоменклатурыСрезПоследних
        ПО Номенклатура1.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
   Peshalkin
 
18 - 22.11.20 - 13:26
Сделал в Событии ПриИзменении Обновление, но после выбора нужного Филиала и ТипаЦены, ничего не меняется в Справочнике 

Если ЗначениеЗаполнено(Город) и ЗначениеЗаполнено(ТипЦены) Тогда
        Элементы.Список.Обновить();
КонецЕсли;
   RomanYS
 
19 - 22.11.20 - 13:27
(17) НЕ 
Город = Город                  И ТипЦены = ТипЦены"
правильно
Город = &Город И ТипЦены = &ТипЦены
   RomanYS
 
20 - 22.11.20 - 13:28
(17) На счёт необходимости явного обновления, не уверен. Возможно изменение параметров вызывает его автоматически
   Peshalkin
 
21 - 22.11.20 - 13:35
(19) Благодарю, думал, что когда в условие прописываешь, оно автоматически проставляет &
Теперь возникла проблема в том, что когда открываешь справочник, вылетает ошибка, что не задано значение параметра &Город, можно как-то сделать так, чтобы изначально параметры были "Отключены"?
   Peshalkin
 
22 - 22.11.20 - 13:42
(20) При создании на сервере установил параметры для город и ТипЦены, в справочник заходит, но при выборе города и типа цены, цены не добавляются, даже если Обновлять при заполнении 2х параметров в событии приИзменении Реквизитов
   RomanYS
 
23 - 22.11.20 - 13:50
(22) Значит параметры неправильно меняешь, код показывай
   Peshalkin
 
24 - 22.11.20 - 13:54
(23)
Список.Параметры.УстановитьЗначениеПараметра("Город", Город);
Список.Параметры.УстановитьЗначениеПараметра("ТипЦены", ТипЦены);



ВЫБРАТЬ
    Номенклатура1.Ссылка КАК Ссылка,
    Номенклатура1.ВерсияДанных КАК ВерсияДанных,
    Номенклатура1.ПометкаУдаления КАК ПометкаУдаления,
    Номенклатура1.Родитель КАК Родитель,
    Номенклатура1.ЭтоГруппа КАК ЭтоГруппа,
    Номенклатура1.Код КАК Код,
    Номенклатура1.Наименование КАК Наименование,
    Номенклатура1.Гарантия КАК Гарантия,
    Номенклатура1.Категория КАК Категория,
    Номенклатура1.ВидТовара КАК ВидТовара,
    Номенклатура1.ВидНоменклатуры КАК ВидНоменклатуры,
    Номенклатура1.СтавкаНДС КАК СтавкаНДС,
    Номенклатура1.Состав.(
        Ссылка КАК Ссылка,
        НомерСтроки КАК НомерСтроки,
        Товар КАК Товар,
        Количество КАК Количество,
        КомплектующееДляРазбора КАК КомплектующееДляРазбора
    ) КАК Состав,
    Номенклатура1.Предопределенный КАК Предопределенный,
    Номенклатура1.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
ИЗ
    Справочник.Номенклатура КАК Номенклатура1
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                ,
                Город = &Город
                    И ТипЦены = &ТипЦены) КАК ЦеныНоменклатурыСрезПоследних
        ПО Номенклатура1.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
   Peshalkin
 
25 - 22.11.20 - 13:54
(24) Не так вставил, Первые 2 строки у меня написаны в форме при создании на сервере
   RomanYS
 
26 - 22.11.20 - 13:56
(25) А при изменении реквизитов?
   Peshalkin
 
27 - 22.11.20 - 13:58
(26)
Если ЗначениеЗаполнено(Город) и ЗначениеЗаполнено(ТипЦены) Тогда
        Элементы.Список.Обновить();
КонецЕсли;
   RomanYS
 
28 - 22.11.20 - 14:00
(27) Где установка параметров? Зачем обновлять список, если ты параметры не изменил?
   Peshalkin
 
29 - 22.11.20 - 14:03
(28) Всё заработало, спасибо за помощь, я думал, что параметры нужно установить только 1 раз, а после уже просто обновлять список, извиняюсь за тупость и спасибо за помощь


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.