|
v7: Помогите разобраться с регистром? | ☑ | ||
---|---|---|---|---|
0
asphix
20.01.12
✎
11:01
|
Добрый день!
1Cv77, ТиС. В стандартном отчёте "Остатки ТМЦ" добавил кнопку, к которой привязал процедуру выгрузки остатков в нужном формате в csv. В целом вроде работает, но не выгружает товары, остаток по которым на складе 0. А хотелось бы видеть позицию, штрихкод и цихерку 0 в поле остатка. Делаю так: Процедура Выгрузка() csv = СоздатьОбъект("Текст"); Запрос = СоздатьОбъект("Запрос"); Опт = 0; ТекстЗапроса = "//{{ЗАПРОС(Сформировать) | ЮрЛицо = Регистр.ОстаткиТМЦ.Фирма.ЮрЛицо, Регистр.РезервыТМЦ.Фирма.ЮрЛицо; | ШтрихКод = Регистр.ОстаткиТМЦ.Номенклатура.БазоваяЕдиница.ШтрихКод; | Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура; | ТоварИмя = Регистр.ОстаткиТМЦ.Номенклатура.Наименование; | Склад = Регистр.ОстаткиТМЦ.Склад, Регистр.РезервыТМЦ.Склад; | Количество = Регистр.ОстаткиТМЦ.Количество; | Цена = Регистр.ОстаткиТМЦ.ЦенаПрод; | Функция КоличествоКонОст = КонОст(Количество); | Группировка Номенклатура упорядочить по Номенклатура.Родитель.Код; | Группировка Склад Все ВошедшиеВЗапрос; | Условие (ЮрЛицо в ВыбРазделитель2); | Условие (Номенклатура в глУсловие1); | Условие (Склад в ВыбСклад);"; Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда Пока Запрос.Группировка("Номенклатура") = 1 Цикл Если Запрос.Номенклатура.Родитель.Выбран() = 1 тогда // игнорируем переходы между групп глВернутьЦену(Запрос.Номенклатура, ЦенаИзСправочника, ДатаКонца, Опт); csv.ДобавитьСтроку(Запрос.Номенклатура.Родитель.Код + ";" + СокрЛП(Запрос.ШтрихКод) + ";" + СокрЛП(Запрос.ТоварИмя) + ";" + Запрос.КоличествоКонОст + ";" + //Запрос.Цена + ";" + Опт); КонецЕсли; КонецЦикла; Сообщить(ТекущееВремя() + " Выгрузка сформирована успешно."); КонецЕсли; csv.Записать("c:\temp\export.csv"); КонецПроцедуры Прошу строго не судить, в 1С совсем профан, помогите советом? |
|||
1
1Сергей
20.01.12
✎
11:07
|
| Группировка Номенклатура упорядочить по Номенклатура.Родитель.Код Все;
|
|||
2
Дядя Васька
20.01.12
✎
11:08
|
А что такое "переходы между групп"? Ты проигнорировал все элементы корня просто.
|
|||
3
asphix
20.01.12
✎
11:18
|
2 1Сергей: в таком случае в файлик выводятся по две записи с каждым товаром:
первая с остатком 0 и в поле цены стоит % наценки вторая с правильным остатком и правильно выбранной ценой Записи с остатком на складе 0 не выводятся всё-равно.. 2 Дядя Васька: использую множественный фильтр и для выгрузки в файл мне элементы корня не нужны. |
|||
4
1Сергей
20.01.12
✎
11:21
|
(3) тогда ещё подправь:
| Группировка Склад; |
|||
5
Дядя Васька
20.01.12
✎
11:23
|
А зачем вообще по складам группировка?
|
|||
6
asphix
20.01.12
✎
11:26
|
2 1Сергей: результат ровно тот же :(
2 Дядя Васька: да хрен его знает.. на самом деле мне просто нужен список позиций на складе со штрихкодом и остатком (даже нулевым), по незнанию методом тыка писал :( З.Ы.: бытует мнение, что в регистрах остатков не хранится инфа по товарам с нулевым остатком. Интересно, это правда? |
|||
7
Дядя Васька
20.01.12
✎
11:27
|
(6) Ты не поверишь :) Откуда ей там взяться-то?
|
|||
8
1Сергей
20.01.12
✎
11:28
|
(6) ты что-то не там смотришь
|
|||
9
Дядя Васька
20.01.12
✎
11:29
|
Кстати да... Процент наценки вместо цены по такому коду вроде как не может получится в принципе
|
|||
10
asphix
20.01.12
✎
11:34
|
В общих чертах мне необходима такая мини-формочка, где я мог бы выбрать нужную номенклатурную группу, тип цены и склад и получить список товаров в выбранной группе со штрихкодом, ценой и остатком на складе.
попробовал присовоокупиться к стандартному отчёту Остатки ТМЦ, но он, зараза, и сам по нулевым остаткам выводит только Наименование товара и цену, а штрихкод и кол-во нет. Последнее я бы ему простил методом NVL. А вот без штрихкода вообще никуда :( Может быть натолкнёте на более изящное решение проблемы? |
|||
11
Дядя Васька
20.01.12
✎
11:36
|
(10) Так ты ж его из базовой единицы берешь. Номенклатура в нем есть, что мешает просто написать КакТамНазываетсяПеременнаяСНоменклатурой.БазоваяЕдиница.Штрихкод?
|
|||
12
Дядя Васька
20.01.12
✎
11:38
|
+(11) Да и цену через глВернутьЦену() берешь, тоже не в запросе...
|
|||
13
Дядя Васька
20.01.12
✎
11:39
|
Точнее чего я... Цену говоришь выводит же. А что количество нет, так ить нулевое же.
|
|||
14
ЧеловекДуши
20.01.12
✎
11:42
|
(10)Делаешь в 10 заходов.
Сперва создаешь ТЗ, в которой будет нужный тебе товар Потом пишешь свой запрос в (0) и получаешь остаток... Ну и т.д. сам, лепишь мего ТЗ В конце её выводишь. |
|||
15
ЧеловекДуши
20.01.12
✎
11:43
|
+ все в одной можно получить только прямым запросом ;)
|
|||
16
1Сергей
20.01.12
✎
11:46
|
(14) О_о нафига такой огород?
|
|||
17
Дядя Васька
20.01.12
✎
11:46
|
(15) Не мудри. Есть отчет нормальный который все выводит. ТС там не хватает только ШК, а чтобы до него добраться никакой запрос и не нужен.
|
|||
18
ЧеловекДуши
20.01.12
✎
11:49
|
(16)Если огород ему ненать, то твой ответ в (1) уже окончателен :)
|
|||
19
ЧеловекДуши
20.01.12
✎
11:50
|
Чета мне сдается, что автору нужен прайс лист :)
|
|||
20
asphix
20.01.12
✎
12:18
|
2 ЧеловекДуши, почти угадали :) Только в этом прайс-листе нужно указывать кол-во остатка товара на складе :)
|
|||
21
KatyaShumilova
20.01.12
✎
14:34
|
(20) Добавьте колонку "Остатки" с вырадением <ПечКол>, в таблицу.
А в модуле напишите примерно так: Кол=Регистр.ОстаткиТМЦ.СводныйОстаток(,Докум.Номенклатура,,,"Количество"); ПечКол=Формат(Кол,"Ч10.0"); |
|||
22
asphix
20.01.12
✎
17:39
|
2 KatyaShumilova: спасибо, попробую!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |