Имя: Пароль:
1C
 
Тз.Найти строки() или нет
0 Mr113
 
09.04.15
16:19
Уперся в такую проблемку.Есть ТЗ которая хранит(Номенклатуру, партию, количество) и есть ТЗОстатки (Номенклатура, партия, колвоОстатки). Подскажите как правильно сделать списание по партиям с ТЗОстатки ?
я так понимаю нужно с помощью НайтиСтроки()или я ошибаюсь?
1 Ёпрст
 
гуру
09.04.15
16:24
Как напишешь, так и полетит, хоть перебором делай
2 Mr113
 
09.04.15
16:25
т.е цикл в цикле?
3 Nuobu
 
09.04.15
16:29
(2) Лучше Запрос в цикле.
4 Mr113
 
09.04.15
16:31
(3) а с помощью НайтиСтроки() никак?
5 Nuobu
 
09.04.15
16:32
(4) Можно конечно. Я ведь не написал "Только", я написал - "Лучше".
6 Mr113
 
09.04.15
16:37
(5) и как это сделать? не подскажешь?
7 Nuobu
 
09.04.15
16:42
(6) Делаешь запрос по остаткам. В нём есть отбор.
В этот отбор вставляешь свою номенклатуру и партию.
А вообще - есть куча курсов в нете.
8 Nuobu
 
09.04.15
16:43
(6) Это тестовое задание?
9 Mr113
 
09.04.15
16:44
да, учу 1с, и мне поставили задачу решить с помощью ТЗ
10 Ёпрст
 
гуру
09.04.15
16:44
(2)
просто цикл по одной таблице, поиск в другой и списание
11 Ёпрст
 
гуру
09.04.15
16:45
ТЗ лучше проиндексировать по полям, по которым будешь отбор накладывать
12 Nuobu
 
09.04.15
16:47
(9) Тогда лучше найди в нэте курсы и просмотри их.
Потому что то, что ты делаешь - не совсем правильно.
13 Mr113
 
09.04.15
16:49
я делал так:
Для Каждого  Строка из ТабличнаяЧасть цикл
        Партия  = Строка.Партия;
        Количество = Строка.Количество;
        НайденнаяСтрока = Остатки.НайтиСтроки(Новый Структура("Партия", Строка.Партия));
        Если НайденнаяСтрока.Количество()> 0 тогда
            Количество = Строка.Количество;
            
            Движение = Движения.ОстаткиПартий.ДобавитьРасход();
            Движение.Период = Дата;
            ЗаполнитьЗначенияСвойств(Движение,Строка);
            Движение.Количество  = Мин(Количество, НайденнаяСтрока[0].КоличествоОстаток);
            КонецЕсли;
         КонецЦикла;
14 Mr113
 
09.04.15
16:51
но я не знаю что делать если количество больше чем на Остатке,понимаю что надо брать след партию, но не знаю как..
15 Ёпрст
 
гуру
09.04.15
16:52
(13) а где проверка на то, что коичество на остатках > количества в документе ?
16 Nuobu
 
09.04.15
16:53
(14) Не получается, потому что у тебя не цикл в цикле, а Условие в цикле.
Переделай на цикл в цикле.
17 Mr113
 
09.04.15
16:53
(15) а зачем? если хоть какой-то остаток есть, его все равно надо списать
18 Nuobu
 
09.04.15
16:54
(17) А если на остатке нету столько товара, сколько ты хочешь списать?
19 Ёпрст
 
гуру
09.04.15
16:54
(14) чего там знать то ?
Делаешь цикл пока не спишется количество из документа или пока останки не кончатся, если списалось - переход к следующей итерации цикла по номенклатуре, если остатка не хватило - предложение пройтись в пешее путешествие с эротическим уклоном и возврат с отменой проведения.
20 Ёпрст
 
гуру
09.04.15
16:56
(17) открой уже любую методичку по опер учету и посмотри, как по фифо списываются партии, там же всё просто, как грабли
21 Logan G
 
09.04.15
16:56
Скачай и посмотри примеры по спецу Платформы. Там это есть в нескольких вариантах.