Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
05 Июн 2020, 05:42
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Форма Номенклатуры + РегистрСведенийСписок (обычная форма)  (Прочитано 146 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Алина Осипова

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-05-21
  • Сайт: 
Доброго времени суток! Есть обычная форма списка номенклатуры с двумя реквизитами и следующая задача:

1.При активации строки списка номенклатуры необходимо ограничить отображение списка аналогов только по выбранной номенклатуре.
2.В табличное поле Аналоги добавить для измерения Аналог колонки Артикул (реквизит Артикул справочника Номенклатура), Остаток (данные брать из регистра Остатки номенклатуры).
3.В табличное поле Аналоги выводить только аналоги с остатками.

Решено для ТабличноПолеАналоги с типом ТаблицаЗначений, подскажите как реализовать для  ТабличноПолеАналоги с типом РегистрСведенийСписок???


Процедура СправочникСписокПриАктивизацииСтроки(Элемент)
      Запрос = Новый Запрос;
      Запрос.Текст = "ВЫБРАТЬ
                    |   спрНоменклатура.Ссылка,
                    |   Аналоги.Аналог,
                    |   Аналоги.Аналог.Артикул КАК Артикул,
                    |   Остатки.КоличествоОстаток
                    |ИЗ
                    |   РегистрСведений.Аналоги КАК Аналоги
                    |   ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК спрНоменклатура
                    |   ПО Аналоги.Номенклатура = спрНоменклатура.Ссылка
                    |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК Остатки
                    |      ПО Аналоги.Аналог = Остатки.Номенклатура
                    |ГДЕ
                    |   спрНоменклатура.Ссылка = &Ссылка" ;
      
      Запрос.УстановитьПараметр("Ссылка", ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Ссылка);
      РезультатЗапроса = Запрос.Выполнить();
      ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
      
      ТаблицаАналогов = Новый ТаблицаЗначений;
      ТабличноеПолеАналоги.Очистить();
      
      Пока ВыборкаДетальныеЗаписи.Следующий() Цикл         
      Строка = ЭлементыФормы.ТабличноеПолеАналоги.Значение.Добавить();
      Строка.Аналог = ВыборкаДетальныеЗаписи.Аналог;
      Строка.Артикул = ВыборкаДетальныеЗаписи.Артикул;
      Строка.Остатки = ВыборкаДетальныеЗаписи.КоличествоОстаток ;
        КонецЦикла;
КонецПроцедуры


         

Последний раз редактировалось: Алина Осипова; 21 Май 2020, 16:25


Оффлайн LexaK

  • *****
  • Сообщений: 2139
  • РЕПУТАЦИЯ: 629
  • КПД: 29%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Алина Осипова,
Цитировать
подскажите как реализовать для ТабличноПолеАналоги с типом РегистрСведенийСписок???
можно реализовать с помощью Отборов.

только зачем? У вас же уже есть (абы как) работающий вариант!
а со стороны пользователя какая разница ТЗ это или РегистрСписок?
Помогло? - Нажми СПАСИБО (под аватаром) !!!
                       :)

Оффлайн Алина Осипова

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-05-21
  • Сайт: 
только зачем? У вас же уже есть (абы как) работающий вариант!
а со стороны пользователя какая разница ТЗ это или РегистрСписок?

Задача такая, именно через РегистрСписок
Уже переделала, но выдает ошибку "Значение не является значением объектного типа(Ячейки)"


Процедура СправочникСписокПриАктивизацииСтроки(Элемент)
   ТаблицаАналогов = ЭлементыФормы.ТабличноеПолеАналоги.Значение;
   Выбор = ЭлементыФормы.СправочникСписок.ТекущаяСтрока;   
   ТаблицаАналогов.Отбор.Номенклатура.Установить(Выбор.Ссылка);
КонецПроцедуры


Процедура ТабличноеПолеАналогиПриПолученииДанных(Элемент, ОформленияСтрок)
       Соответствие = Новый Соответствие;
      АналогМассив = Новый Массив;
      Для каждого Стр Из ОформленияСтрок Цикл
         АналогМассив.Добавить(Стр.ДанныеСтроки.Аналог);
         Соответствие.Вставить(Стр.ДанныеСтроки.Аналог, Стр);      
      КонецЦикла;
      
      Запрос = Новый Запрос;
      Запрос.Текст = "ВЫБРАТЬ
                    |   спрНоменклатура.Ссылка,
                    |   Аналоги.Аналог,
                    |   Аналоги.Аналог.Артикул КАК Артикул,
                    |   Остатки.КоличествоОстаток
                    |ИЗ
                    |   РегистрСведений.Аналоги КАК Аналоги
                    |   ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК спрНоменклатура
                    |   ПО Аналоги.Номенклатура = спрНоменклатура.Ссылка
                    |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК Остатки
                    |      ПО Аналоги.Аналог = Остатки.Номенклатура
                    |ГДЕ
                    |   спрНоменклатура.Ссылка = &Ссылка" ;
      
      Запрос.УстановитьПараметр("Ссылка", ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Ссылка);
      РезультатЗапроса = Запрос.Выполнить().Выбрать();
      Пока РезультатЗапроса.Следующий() Цикл
          Соответствие.Получить(РезультатЗапроса.Аналог).Ячейки.Артикул.Значение = РезультатЗапроса.Артикул;
         Соответствие.Получить(РезультатЗапроса.Аналог).Ячейки.Остаток.Значение = РезультатЗапроса.КоличествоОстаток;
      КонецЦикла;
КонецПроцедуры

Оффлайн LexaK

  • *****
  • Сообщений: 2139
  • РЕПУТАЦИЯ: 629
  • КПД: 29%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
    Соответствие.Получить(РезультатЗапроса.Аналог).Ячейки.Артикул.Значение = РезультатЗапроса.Артикул;
Соответствие.Получить(...) - может иногда Неопределено возвращать!!! Какие в этом случае Ячейки? :dfbbdrfb:
Помогло? - Нажми СПАСИБО (под аватаром) !!!
                       :)

Оффлайн Алина Осипова

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-05-21
  • Сайт: 
 
Цитировать
Какие в этом случае Ячейки? :dfbbdrfb:

Не знаю, по этому и спрашиваю как это исправить
Работаю с этим впервые

Оффлайн LexaK

  • *****
  • Сообщений: 2139
  • РЕПУТАЦИЯ: 629
  • КПД: 29%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Алина Осипова, странная у вас программа,
но ошибку(только ее) можно исправить так!
(правда в следующем письме вы напишите что: ошибка исчезла, но и ничего не работает)
      Пока РезультатЗапроса.Следующий() Цикл
          лкДанные = Соответствие.Получить(РезультатЗапроса.Аналог);
          Если лкДанные <> Неопределено Тогда //добавлена проверка
              лкДанные.Ячейки.Артикул.Значение = РезультатЗапроса.Артикул;//тут скорее всего Текст надо вставлять, не помню
              лкДанные.Ячейки.Остаток.Значение = РезультатЗапроса.КоличествоОстаток;
          КонецЕсли;
      КонецЦикла;
Помогло? - Нажми СПАСИБО (под аватаром) !!!
                       :)

Оффлайн Алина Осипова

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-05-21
  • Сайт: 
странная у вас программа
Возможно, но учиться на чем-то надо)

Цитировать
(правда в следующем письме вы напишите что: ошибка исчезла, но и ничего не работает)
Да нет, оно работает) Спасибо за помощь!


Теги:
 

"фильтрация" номенклатуры

Автор mashencev_antonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 12
Просмотров: 12271
Последний ответ 11 Мар 2014, 16:09
от mashencev_anton
Номенклатуры типов "расход" и "услуга. Как использовать?

Автор joyerРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 3755
Последний ответ 29 Июн 2011, 21:11
от joyer
Как в реализации товаров и услуг во вкладке товары добавить столбец производитель (FA) в управление торговлей 11.1 1с предприятие? оно отсутствует в номенклатуре доступной при нажатии кнопки добавить как войти в настройки номенклатуры?

Автор сергей123Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 700
Последний ответ 25 Янв 2019, 10:07
от сергей123
Добавление колонки в "Установку цен номенклатуры"

Автор EtherialРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 898
Последний ответ 23 Окт 2018, 17:35
от Etherial
Не отображаются "Свойства номенклатуры" куда тыкнуть?

Автор limrikРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4288
Последний ответ 16 Янв 2012, 18:25
от limrik

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
86 Сообщений
LexaK
66 Сообщений
antoneus antoneus
65 Сообщений
alexandr_ll
18 Сообщений
Funt432286
16 Сообщений
Funt Фунтиков
16 Сообщений
aleon1 aleon1
14 Сообщений
Анна Анисимова
13 Сообщений
skaut
12 Сообщений
strelok_stv
12 Сообщений

* Кто онлайн

  • Точка Гостей: 133
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal