0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 102
1
1C 8.x

Как заполнить колонку при выборе номенклатуры

18.03.2014, 12:32. Показов 2609. Ответов 16
Метки нет (Все метки)

Здрасте всем. подскажите как заполнить колонку ЗАКАЗАНО(данные берутся из регНакопл) при выборе номенклатуры(Это внешняя обработка конфа УПП13)
1C
1
2
3
4
5
6
7
8
9
10
11
Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)
    кЗаказано= ЭлементыФормы.ТабличнаяЧасть.Колонки.Заказано;
        Запрос= новый Запрос;
        Запрос.Текст= "ВЫБРАТЬ
                      |    ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоПриход
                      |ИЗ
                      |    РегистрНакопления.ТоварыКПолучениюНаСклады.ОстаткиИОбороты КАК ТоварыКПолучениюНаСкладыОстаткиИОбороты" ;
    Результат=Запрос.Выполнить().Выгрузить();
    кЗаказано=Результат;
                  
КонецПроцедуры
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2014, 12:32
Ответы с готовыми решениями:

Как заполнить колонку А от 1 до 200, колонку В от 2 до 40, колонку С от 3 до 600
Написать макрос, на текстовом листе заполнить колонку А от 1 до 200, колонку В от 2 до 40, колонку...

Datagrid как заполнить колонку
Помогите пожалуйста!есть цикл от -20 до 20 допустим, как заполнить колонку значениями?

Как построчно заполнить колонку ТЗ?
Как построчно заполнить колонку ТЗ? Добавлено через 1 минуту Есть ТЗ и надо в цикле заполнить...

Как заполнить всю колонку одним значением
Приношу извинения за совершенно "чайниковские" вопросы, но они точно отражают уровень моих знаний...

16
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
18.03.2014, 15:12 2
Могу только указать на грубые траблы:
1. таблица регистра без параметров.
2. кЗаказано= ЭлементыФормы.ТабличнаяЧасть.Колонки.Заказано; - это тип колонка таб.поля ТабличнаяЧасть, а кЗаказано=Результат - это таблица значений.
а вообще этот скрипт не подлежит существованию по всем статьям, кроме как смутная идея "взять приход из регистра".
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 102
18.03.2014, 15:22  [ТС] 3
Цитата Сообщение от duk337 Посмотреть сообщение
смутная идея "взять приход из регистра"
а откуда его тогда взять?
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
18.03.2014, 20:13 4
Цитата Сообщение от Антон Машенцев Посмотреть сообщение
а откуда его тогда взять?
Из регистра. "Смутная" - означает "плохо сформулированная"
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 102
19.03.2014, 09:51  [ТС] 5
Сделал так но снова не работает
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Запрос= новый Запрос;
        Запрос.Текст= "ВЫБРАТЬ 
                      |ТабличнаяЧасть.Номенклатура
                      |ПОМЕСТИТЬ ТабличнаяЧасть
                      |ИЗ &ТабличнаяЧасть КАК ТабличнаяЧасть
                      |; 
                      |ВЫБРАТЬ
                      |    ТоварыКПолучениюНаСкладыОстаткиИОбороты.Номенклатура КАК Номенклатура,
                      |    ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоПриход КАК Заказано
                      |ИЗ
                      |    РегистрНакопления.ТоварыКПолучениюНаСклады.ОстаткиИОбороты КАК ТоварыКПолучениюНаСкладыОстаткиИОбороты
                      |ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабличнаяЧасть
                      |ПО ТоварыКПолучениюНаСкладыОстаткиИОбороты.Номенклатура = ТабличнаяЧасть.Номенклатура" ;
 
    Запрос.УстановитьПараметр("ТабличнаяЧасть",ТабличнаяЧасть);
    Выборка=Запрос.Выполнить();
    Пока Выборка.Следующий() Цикл
       
       ИскомаяСтрока = ТабличнаяЧасть.Найти("Номенклатура",Выборка.Номенклатура);
       Если ИскомаяСтрока <> Неопределено Тогда
          ИскомаяСтрока.Заказано = Выборка.Заказано;
      КонецЕсли;
      КонецЦикла;
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
19.03.2014, 10:35 6
Цитата Сообщение от Антон Машенцев Посмотреть сообщение
при выборе номенклатуры
А зачем получать по всей Номенклатуре? Событие ТЧНоменклатураПриИзменении()?
Научитесь прописывать параметры виртуальной таблицы. (И таблица Вам нужна "Обороты").
Не надо присоединять ТЧ, достаточно получить из неё список Номенклатуры. Но Вам и списка не надо: одновременно можно выбрать только одну номенклатурину на экране, не так ли?
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 102
19.03.2014, 10:49  [ТС] 7
Цитата Сообщение от duk337 Посмотреть сообщение
Событие ТЧНоменклатураПриИзменении()?
верно
Цитата Сообщение от duk337 Посмотреть сообщение
одновременно можно выбрать только одну номенклатурину на экране, не так ли?
именно так.
Кабздец!!!
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 102
20.03.2014, 13:53  [ТС] 8
проблема решена))
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)
       с=ЭлементыФормы.ТабличнаяЧасть.текущаяСтрока;
        Запрос= новый Запрос;
        Запрос.Текст= "ВЫБРАТЬ
                      | ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоПриход КАК Приход,
                      | ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоОборот КАК Оборот,
                      | ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоРасход КАК Расход
                      |ИЗ
                      | РегистрНакопления.ТоварыКПолучениюНаСклады.ОстаткиИОбороты КАК ТоварыКПолучениюНаСкладыОстаткиИОбороты
                      |ГДЕ
                      | ТоварыКПолучениюНаСкладыОстаткиИОбороты.Номенклатура = &Номен" ;
       Запрос.установитьПараметр("Номен",с.Номенклатура);    
       Результат=Запрос.Выполнить().Выбрать();
          Пока Результат.следующий() цикл
       с.Заказано=результат.Приход;
       с.Доступно=Результат.Оборот;
       с.Выдано=Результат.Расход;
         КонецЦикла;
        КонецПроцедуры
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
20.03.2014, 16:05 9
Условие надо только в параметры виртуальной таблицы перенести. Да и таблицы Обороты тут достаточно. Да и конец периода оборотов указать невредно.

Добавлено через 1 минуту
Цитата Сообщение от Антон Машенцев Посмотреть сообщение
с.Доступно=Результат.Оборот;
хотя, судя по имени поля "Доступно" - это остаток. Да?
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 102
20.03.2014, 16:48  [ТС] 10
Цитата Сообщение от duk337 Посмотреть сообщение
это остаток. Да?
Да Остаток. и Расход понадобился
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
20.03.2014, 17:26 11
Цитата Сообщение от Антон Машенцев Посмотреть сообщение
Да Остаток
Цитата Сообщение от Антон Машенцев Посмотреть сообщение
с.Доступно=Результат.Оборот;
а что написано?
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 102
20.03.2014, 17:30  [ТС] 12
Цитата Сообщение от duk337 Посмотреть сообщение
а что написано?
написано что ДОСТУПНО. Вы об Этом?
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
20.03.2014, 21:02 13
Цитата Сообщение от Антон Машенцев Посмотреть сообщение
Результат.Оборот;
я об этом. Оборот не преврадиться в остаток, даже если присваивать в поле СамыйНаиостаточнейшийОстаток, тем более в какое-то "Доступно".
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 102
21.03.2014, 09:16  [ТС] 14
Цитата Сообщение от duk337 Посмотреть сообщение
Оборот не преврадиться в остаток, даже если присваивать в поле СамыйНаиостаточнейшийОстаток, тем более в какое-то "Доступно".
А что же тогда использовать? КонечныйОстаток?
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
21.03.2014, 11:25 15
Ну не зря же Вы выбрали таблицу ОстаткиОбороты. А начальный или конечный - зависит от 1-го и 2-го парметров виртуальной таблицы, это даты начала и конца периода.
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 102
21.03.2014, 12:09  [ТС] 16
Цитата Сообщение от duk337 Посмотреть сообщение
Ну не зря же Вы выбрали таблицу ОстаткиОбороты. А начальный или конечный - зависит от 1-го и 2-го парметров виртуальной таблицы, это даты начала и конца периода.
__________________
Ок Спасибо

Добавлено через 17 минут
Цитата Сообщение от duk337 Посмотреть сообщение
А начальный или конечный - зависит от 1-го и 2-го парметров виртуальной таблицы, это даты начала и конца периода.
дело в том что в данной обработке нет выбора периода. и какой тогда остаток выбирать
0
2954 / 1766 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
21.03.2014, 17:00 17
Цитата Сообщение от Антон Машенцев Посмотреть сообщение
какой тогда остаток выбирать
Конечный, указав текущую дату
1C
1
|ИЗ РегистрНакопления.ТоварыКПолучениюНаСклады.ОстаткиИОбороты(,ТекущаяДата(),Склад=&Склад И Номенклатура В (&СписокНоменклатуры));
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2014, 17:00
Помогаю со студенческими работами здесь

Как заполнить колонку listview по foreign key?
Интересует способ выводить название отдела (departments.name) по foreign key (DepartmentsId)...

Добавить колонку в отчет, где отображается на каком контрагенте резерв данной номенклатуры
1С 8.2 Управление торговлей Добрый день читатели форума!) Мне нужна подсказка по добавлению...

Как быстрее заполнить колонку DataTable одним значением
Как быстрее заполнить колонку DataTable одним значением Имеется таблица с 4000 строками, заполнять...

Как заполнить колонку данными исходя из двух других колонок?
Всем привет! Такая история, есть, в таблице, три поля &quot;Закупочная цена&quot;, &quot;Наценка&quot; и &quot;Розничная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru