Имя: Пароль:
1C
1С v8
Заполнение табличной части
,
0 BarakuzA
 
05.10.11
14:04
Нужна помощь. Требуется заполнить табличную часть документа Позициями из Справочника Номенклатура.
Запрос=Новый Запрос;
   Запрос.Текст=
   "ВЫБРАТЬ
   |    Наименование КАК Наименование,
   |    Код,
   |    Родитель
   |ИЗ
   |    Справочник.Номенклатура КАК Номенклатура
   |ГДЕ
   |    Номенклатура.ЭтоГруппа=Ложь
   |УПОРЯДОЧИТЬ ПО
   |    Родитель.Наименование ВОЗР";
   //Товары.Загрузить(Запрос.Выполнить().Выгрузить());
   Результат=Запрос.Выполнить().Выбрать();
   //Для Каждого ТекСтрока ИЗ Товары Цикл
   Пока Результат.Следующий() Цикл
       НоваяСтрока=Товары.Добавить();
       НоваяСтрока.Номенклатура=Результат.Наименование;
   КонецЦикла;
1 MadHead
 
05.10.11
14:06
Зачем ты наименование суешь в ссылочное поле?
2 kible
 
05.10.11
14:07
Запрос=Новый Запрос;
   Запрос.Текст=
   "ВЫБРАТЬ
   |    Ссылка КАК Ссылка ,
   |    Код,
   |    Родитель
   |ИЗ
   |    Справочник.Номенклатура КАК Номенклатура
   |ГДЕ
   |    Номенклатура.ЭтоГруппа=Ложь
   |УПОРЯДОЧИТЬ ПО
   |    Родитель.Наименование ВОЗР";
   //Товары.Загрузить(Запрос.Выполнить().Выгрузить());

   Результат=Запрос.Выполнить().Выбрать();
   //Для Каждого ТекСтрока ИЗ Товары Цикл

   Пока Результат.Следующий() Цикл
       НоваяСтрока=Товары.Добавить();
       НоваяСтрока.Номенклатура=Результат.Ссылка;
   КонецЦикла;
3 Нуф-Нуф
 
05.10.11
14:07
в запросе ты получаешь наименование - строку, а в документе в поле номенклатура - тип справочникссылка

Наименование КАК Наименование
замени на
Ссылка КАК Номенклатура

НоваяСтрока.Номенклатура=Результат.Наименование;
замени на
НоваяСтрока.Номенклатура=НоваяСтрока.Номенклатура;
4 BarakuzA
 
05.10.11
14:24
НоваяСтрока.Номенклатура=НоваяСтрока.Номенклатура;  - почему так???
5 shuhard
 
05.10.11
14:25
(3) а Нуф контузило близким разрывом
НоваяСтрока.Номенклатура=Результат.Ссылка;;
6 BarakuzA
 
05.10.11
14:26
спасибо!
7 BarakuzA
 
05.10.11
14:37
а если еще надо добавить базовую единицу измерения из справочника,как быть???
8 Maxus43
 
05.10.11
14:38
(7) смотри в форме процедуру при изменении номенклатуры в тч, что там делается - то и тебе по хорошему надо сделать
9 BarakuzA
 
05.10.11
14:39
а я разве в запросе не могу сразу указать что базовую единицу измерения и тут ее также добавить?
10 Maxus43
 
05.10.11
14:41
(9) можеш
11 dragonIMV
 
05.10.11
14:41
(9) а что мешает тебе в цикле добавлять единицу измерения?
12 BarakuzA
 
05.10.11
14:42
НоваяСтрока.ЕдиницаИзмерения = Результат.БазоваяЕдиницаИзмерения;
13 Maxus43
 
05.10.11
14:43
НоваяСтрока.ЕдиницаИзмерения = Результат.Ссылка.БазоваяЕдиницаИзмерения;
14 dragonIMV
 
05.10.11
14:44
(13) и теперь на справочники с 1 миллионом номенклатуры запусти свой код и сделай замер производительности...
и потом пару других вариантов прогони...
15 BarakuzA
 
05.10.11
14:45
например каких??? если можно сделать по другому, подскажите пожайлуста.
16 dragonIMV
 
05.10.11
14:46
(15) в самом запросе получи изначально, поидее быстрее при большом размере будет
17 BarakuzA
 
05.10.11
14:48
я так и сделал уже, но почему то всеравно поле единица измерения не заполняется,
"ВЫБРАТЬ
   |    Ссылка,
   |    БазоваяЕдиницаИзмерения КАК ЕдИзм
   |ИЗ
   |    Справочник.Номенклатура КАК Номенклатура
   |ГДЕ
   |    Номенклатура.ЭтоГруппа=Ложь
   |УПОРЯДОЧИТЬ ПО
   |    Родитель.Наименование ВОЗР";
   //Товары.Загрузить(Запрос.Выполнить().Выгрузить());
   Результат=Запрос.Выполнить().Выбрать();
   //Для Каждого ТекСтрока ИЗ Товары Цикл
   Пока Результат.Следующий() Цикл
       НоваяСтрока=Товары.Добавить();
       НоваяСтрока.Номенклатура     = Результат.Ссылка;
       НоваяСтрока.ЕдиницаИзмерения = Результат.ЕдИзм;        
   КонецЦикла;
18 Vakhrin
 
05.10.11
14:49
потому что базовая из классификатора, а нужна из подчиненного единицы...
19 BarakuzA
 
05.10.11
14:50
ЕдиницаХраненияОстатков -?
20 Vakhrin
 
05.10.11
14:51
можно и ее
21 dragonIMV
 
05.10.11
14:55
(19)именно её и надо брать, она везде в движениях участвует в основном...
22 Vakhrin
 
05.10.11
15:06
(21) в движениях да... в документах не обязательно )
23 dragonIMV
 
05.10.11
15:08
(22) разумеется, но я пока не видел ни одной фирмы которая бы мучалась с единицами измерений...тупо единицу хранений использовали и все...лишь единицы отчетов другие делали
24 BarakuzA
 
05.10.11
15:11
буду оч признателен если кто то расскажет про инвентаризацию в НТТ??? судя по документу инвентаризация на складе  - она заполняется из остатков с закупочными розничными ценами, а суммы считаются по закупке, только в документах списание и оприходывание берутся розничные цены для данной точки НТТ.
25 BarakuzA
 
05.10.11
16:36
а каким способом сюда лучше добавить розничную цену?
26 Vakhrin
 
05.10.11
20:36
через срез последних в регистре Цены номенклатуры и связкой с основным набором данных в запросе по ключевым полям