Имя: Пароль:
1C
1C 7.7
v7: Есть проблемка. Нужна Ваша подсказка
,
0 Verdi
 
28.02.12
21:52
В ТиС есть документ Перемещение ТМЦ.
Вот этот документ то записывает партии в регистр, то нет. Вобщем не суть. Главное товар при реализации откуда то получает партию.

Проблемка: Сделал информативную печатную формочку с колонками "Приходный Документ" и "Себестоимость".

Если не указаны партии по документу в регистре, то нужно взять информацию из справочника партий.
В справочнике партий от 2 до 6 партий на каждый товар в документе.

Хочется что бы при пустом регистре вывелась информация из справочника.
Код:

Докум.ВыбратьСтроки();
Пока Докум.ПолучитьСтроку() = 1 Цикл
       РегПартии.ВыбратьДвиженияДокумента(Докум.ТекущийДокумент());
       
       
Пока РегПартии.ПолучитьДвижение() = 1  Цикл

ТабДвиж.Партия    = ""+РегПартии.ПриходныйДокумент+" , " +РегПартии.Поставщик+"";
       КонецЦикла;
       Если РегПартии.Партия = 0 Тогда
           СпрПартии.НайтиЭлемент(Докум.Номенклатура);
           СпрПартии.ИспользоватьВладельца(Докум.Номенклатура);
           Парт = СпрПартии.ТекущийЭлемент();
             ТабДвиж.Партия                = ""+Парт.Партия.ПриходныйДокумент+" , "+Парт.Партия.Поставщик+"";

КонецЕсли;
1 andrewks
 
28.02.12
21:57
МОЛ одинаковый
2 Ork
 
28.02.12
22:00
(0)
1. Где собссна вопрос?
2. Вот здесь :
   СпрПартии.НайтиЭлемент(Докум.Номенклатура);
Почему в справочнике партий ищем номенклатуру? Вас ничто не насторожило?
3. Почему область поиска указывается уже после попытки самого поиска?
  Почему сначала
  СпрПартии.НайтиЭлемент(Докум.Номенклатура);
  и только потом
  СпрПартии.ИспользоватьВладельца(Докум.Номенклатура);
3 Verdi
 
28.02.12
22:05
(1) Да. МОЛ одинаковый. Но партию хочется всё таки увидеть )))
4 SmallDog
 
28.02.12
22:06
не помню как а тисе, в комплексной есть регистр ПартииНаличие
5 Verdi
 
28.02.12
22:06
(2) Просто брал пример с обработки. Там так искалась партия по текущему товару
6 Verdi
 
28.02.12
22:07
(4) Данные записи по этому регистру обнуляются если МОЛ одинаковый
7 GreyK
 
28.02.12
22:09
(3) Пригласите спеца!
8 GreyK
 
28.02.12
22:10
+(7) Или сами сведите партии и остатки.
9 Ork
 
28.02.12
22:11
(5)
СпрПартии.ИспользоватьВладельца(Докум.Номенклатура);
СпрПартии.ВыбратьЭлементы();
Пока СпрПартии.ПолучитьЭлемент() = 1 Цикл
   //Здесь по каким-то критериям выбрать нужную
   //или просто перечислить все
   ...
КонецЦикла;
10 SmallDog
 
28.02.12
22:12
(6) угу, поэтому пришлось "списывать" партии без учета МОЛа, те измянять логику
11 Ork
 
28.02.12
22:14
(10) Может я ошибаюсь, но ему не нужен учет. Вот цитата из (0) : "Хочется что бы при пустом регистре вывелась информация из справочника".
12 SmallDog
 
28.02.12
22:15
(7) оччень хочется услышать мнение спеца...
13 SmallDog
 
28.02.12
22:16
(11) не понял (((, если не нужен учет, то что и зачем выводить?
14 GreyK
 
28.02.12
22:16
(9) Ты окуда запускаешь эту выборку? Если из проведенного документа, то Фурсенко рулит!
15 SmallDog
 
28.02.12
22:17
(14) выборка запускается (грубо говоря) из ГМ
16 SmallDog
 
28.02.12
22:18
(15)+ при проведении дока
17 Verdi
 
28.02.12
22:20
(14) (15) Внешняя печатная форма документа Перемещение ТМЦ
18 GreyK
 
28.02.12
22:24
(16) Теперь подумай что будет при перепроведении. Партии в 7ке - это такие партии :) Это такие засланцы делали :)
19 Verdi
 
28.02.12
22:28
(9) Спасибо Орку. Вроде получилось. Пойду дальше править модуль
20 SmallDog
 
28.02.12
22:30
(18) сильно думал, угу, сделано через ж--у, потому и правил...
21 GreyK
 
28.02.12
22:34
В 7ке можно получить партионный учет, но для этого надо вначале распровести все документы, а потом провести. Успехов на ратном труде :)
22 SmallDog
 
28.02.12
22:39
(21) не в теме, надо сначала поправить алгоритм, потом все остальное
23 SmallDog
 
28.02.12
22:40
(21) да, кстати, не в 7-ке дело, а в кодерах...
24 GreyK
 
28.02.12
22:44
(22) Вначале нужно посмотреть как ввод начальных остатков создаёт партии. Без этого дальше движуха по партиям становится нерабочей.
25 Verdi
 
29.02.12
01:50
Нашёл ошибку. В ТаблицуЗначений "ТабДвиж" попадают псе имеющиеся в справочнике партии на данный товар. Свёртка частично помогает, но задваивает строки:

ТабДвиж.Свернуть("Номенклатура, Количество,Сумма","Партия")

Как из(9) выбрать только 1 любой элемент справочника, остальные не выбирать?