|
v7: Движение документа 7.7 | ☑ | ||
---|---|---|---|---|
0
msk-07
17.07.13
✎
20:39
|
Поскажите плизззз...есть обработка движения по регистрам...как делать чтобы еще и табличная часть документа печаталась, меня интересует номенкатура
Буду очень признателен. |
|||
1
Grobik
17.07.13
✎
20:41
|
Выучить русский, прочитать учебник логики Челпанов Г. И., задать вопрос.
|
|||
2
msk-07
17.07.13
✎
20:45
|
ок
|
|||
3
ЧеловекДуши
17.07.13
✎
21:08
|
(1) Русский? Шутник...
(0) Воспользуйся мастером запросов и не страдай :) |
|||
4
msk-07
17.07.13
✎
22:11
|
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с (ТекущаяДата()) по (ТекущаяДата()); |Обрабатывать НеПомеченныеНаУдаление; |Реализация = Документ.Реализация.ТекущийДокумент; |Функция РеализацияКурсСумма = Сумма(Реализация.Курс); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); // Заполнение полей "Итого" Таб.ВывестиСекцию("Итог"); // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры |
|||
5
msk-07
17.07.13
✎
22:11
|
ни чего не получается :(
|
|||
6
msk-07
17.07.13
✎
23:05
|
Пока Запрос.Группировка("Реализация") = 1 Цикл
Стр = ""; ДокР = Запрос.Реализация; Рег=СоздатьОбъект("Регистр.ОстаткиТМЦ"); Док = СоздатьОбъект("Документ") ; Если (Рег.ВыбратьДвиженияДокумента(ДокР)=1) Тогда ДокР.ВыбратьСтроки(); Пока ДокР.ПолучитьСтроку() = 1 Цикл Разм1=Рег.Номенклатура.Наименование; Стр = Стр +ДокР.Номенклатура.Наименование+" " + ДокР.Количество+Разм1; КонецЦикла; Сообщить( " " + Стр); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
7
msk-07
17.07.13
✎
23:05
|
Подскажите почему не выводится ни чего по регистрам:(((
|
|||
8
dedmoroz777
18.07.13
✎
00:06
|
Смелая трактовка...
|
|||
9
КонецЦикла
18.07.13
✎
00:12
|
(7) Перебираешь строки документа, а не движения регистра
Пока Рег.ПолучитьДвижение() = 1 ... Либо если привязан номер строки - искать в движениях по Рег.НомерСтроки() строку документа |
|||
10
dedmoroz777
18.07.13
✎
00:19
|
(9) в запросе нет группировок
|
|||
11
msk-07
18.07.13
✎
12:50
|
Не могу понять :(
у меня две строки в документе 1 и 2, а по регистрам они меняться местами. Как мне тоже привязать строку в документе и регистр. Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб, Стр; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(НайтиДоки) |Период с НачДата по КонДата; |Обрабатывать НеПомеченныеНаУдаление; |НомерДок = Документ.Реализация.НомерДок; |Реализация = Документ.Реализация.ТекущийДокумент; |Группировка Реализация; |"//}}ЗАПРОС ; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос.Группировка("Реализация") = 1 Цикл Стр = ""; ДокР = Запрос.Реализация; Рег=СоздатьОбъект("Регистр.ОстаткиТМЦ"); ДокР.ВыбратьСтроки(); Если (ДокР.ПолучитьСтроку() = 1) Тогда Если (Рег.ВыбратьДвиженияДокумента(ДокР)=1) или (Рег.НомерСтроки()=1) или (Рег.ПолучитьДвижение()=1) Тогда Разм1=Рег.Количество; Раз=ДокР.Количество; Стр = Стр +ДокР.Номенклатура.Наименование+" " + Раз+"="+Разм1; Опа = Разм1 - ДокР.Количество; КонецЕсли; КонецЕсли; Если Опа <> 0 Тогда Сообщить( ДокР.Номенклатура.Наименование+" регистр ОстаткиТМЦ = "+Разм1+", количество в док. = "+ДокР.Количество+ " раздница = " +Опа+" "+ ДокР.НомерДок); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
12
Ёпрст
18.07.13
✎
12:57
|
движения регистров, как правило, никакого отношения к строкам документа не имеют.
Если только спецом об этом не заботиться при записи движений. |
|||
13
msk-07
18.07.13
✎
12:59
|
Значит ни как нельзя привязать?
|
|||
14
Ork
18.07.13
✎
12:59
|
(13) Можно.
|
|||
15
msk-07
18.07.13
✎
13:00
|
Подскажите пожалуйста :((( я просто уже день мучаюсь
|
|||
16
Ork
18.07.13
✎
13:02
|
(15)
1. Правильно - как указано в (12). 2. Тупо - перебор строк документа -> Поиск (тем же перебором) в движениях регистра. |
|||
17
msk-07
18.07.13
✎
13:03
|
у меня с циклами полная беда :(
|
|||
18
Ёпрст
18.07.13
✎
13:04
|
(13) если движения регистра пишутся один-в один, то привязывай номерСтрики в регистре (есть соответствующий метод)
при переборе движений регистра НомерСтроки регистра будет соответствовать НомерСтроки документа.. наслаждайся |
|||
19
uno-group
18.07.13
✎
13:04
|
Ты выбрал движения по регистру а циклом их перебирать кто за тебя будет
|
|||
20
msk-07
18.07.13
✎
13:06
|
(18) подскажите плиз этот метод
|
|||
21
Ork
18.07.13
✎
13:07
|
(17)
ДокР.ВыбратьСтроки(); Пока (ДокР.ПолучитьСтроку() = 1) Цикл Рег.ВыбратьДвиженияДокумента(ДокР); Пока Рег.ПолучитьДвижение()=1 Цикл Если Рег.Номенклатура = ДокР.Номенклатура Тогда Сообщить("Ур-я-я-я-я. Нашли соответствие"); Прервать; КонецЕсли; КонецЦикла; КонецЦикла; |
|||
22
AlexYurg
18.07.13
✎
13:07
|
Попробуй сделать не запросом, а тупым перебором документов в цикле. Это может быть проще в твоем случае.
Напиши что-то типа: Отчет = СоздатьОбъект("Таблица"); Док = СоздатьОбъект("Документ.Реализация"); Док.ВыбратьДокументы(НачДата, КонДата); Пока Док.ПолучитьДокумент() = 1 Цикл Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку() = 1 Цикл Номенклатура = Док.Номенклатура; Отчет.ВывестиСекцию("Строка"); КонецЦикла; КонецЦикла; Отчет.Показать("Мой отчет"); |
|||
23
Ork
18.07.13
✎
13:08
|
(20) ПривязыватьСтроку.
|
|||
24
uno-group
18.07.13
✎
13:11
|
Просто строка должна была быть привязана еще в проведении документа теперь уще поздно пить боржоми.
и это неработает для документов с к-вом строк больше 9999 |
|||
25
uno-group
18.07.13
✎
13:12
|
Если строки небыли заранее привязаны то перебор всех движений с условием док.товар=рег.товар может еще кво добавить или еще что
|
|||
26
Ёпрст
18.07.13
✎
13:13
|
(24) это ограничение только для дбф, где linno число в 4 знака.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |