Имя: Пароль:
1C
1С v8
Получение остатков из регистра бухгалтерии
0 _Pups_
 
24.10.15
21:36
Данные: Режим - обычные формы. Имеется файл xml с данными по номенклатуре
<?xml version="1.0" encoding="UTF-16"?>
<DOCUMENTS>
<DOC NOMER="НТК00001502" DATA="14.07.11" NOMERSF="НТК00001502" DATASF="14.07.11" UCHITNDS="1" SUMMVKLNDS="1">
<Str Nomer="1" ART="T2802-1W-100" NAME="Полуботинки мужские" CODE="00485985" EDIZM="пар" QUANT="12,00" PRICE="2 097,70" NDS="18" SUMM="25 172,40" SUMMANDS="3 839,86" STRANA="" GTD="" Prefiks="N"/>
<Str Nomer="2" ART="T5260-1-100" NAME="Полуботинки мужские" CODE="00482983" EDIZM="пар" QUANT="12,00" PRICE="1 572,50" NDS="18" SUMM="18 870,00" SUMMANDS="2 878,47" STRANA="" GTD="" Prefiks="N"/>
</DOC>
...........
</DOCUMENTS>
РегистрБухгалтерии.Хозрасчетный.
Вопрос: Как получить остатки из регистра на каждую дату из файла?
1 ДенисЧ
 
24.10.15
21:47
А как связаны какой=то невнятный файл и остатки?
2 DrShad
 
24.10.15
21:48
Создаешь документ DOM пишешь XPATH выражение, получаешь список дат и далее запросом соединяет с остатками
3 _Pups_
 
24.10.15
22:42
Есть обработка, она обрабатывает файл и заполняет полученными данными табличную часть. И каким образом соединить табличную часть с остатками?
4 hhhh
 
24.10.15
23:04
так же как соединяешь и не с остатками. Какая разница, пишешь соединение и всё.
5 Фокусник
 
24.10.15
23:40
(3) ищи в поисковиках "таблица значений в запросе 1с 8"
6 _Pups_
 
25.10.15
16:06
Попробую по другому объяснить: из файла получаю данные по номенклатуре, засовываю их в табличную чать https://yadi.sk/i/QHWMoCj0jyQsR. Далее на каждую дату из табличной части нужно вытащить остаток по данной номенклатуре из регистра бухгалтерии по 41.01 счету. Был вариант запрос в цикле, но шото не хочется, может другие способы есть
7 Фокусник
 
25.10.15
16:16
(6) поиск: "остатки на каждую дату в запросе"
12 rphosts
 
25.10.15
16:26
(0) судя по тому что вижу никаких характеристик не передаётся... помимо (2) можно сделать так: прочитать последовательно строки xml документа и занести коды номенклатуры и даты в типизированную ТЗ, которую скормить на вход запроса
13 rphosts
 
модератор
25.10.15
16:27
Обороты сбавляем!
14 _Pups_
 
25.10.15
16:56
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТабЗнач",ТабЗнач);
Запрос.Текст = "ВЫБРАТЬ
               |    ТабЗнач.Артикул
               |ПОМЕСТИТЬ ВТ_Товары
               |ИЗ
               |    &ТабЗнач КАК ТабЗнач
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               |    ЕСТЬNULL(Номенклатура.Артикул, 0) КАК Артикул,
               |    СУММА(ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток, 0)) КАК КоличествоОстаток
               |ИЗ
               |    ВТ_Товары КАК ВТ_Товары
               |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
               |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&МоментВремени, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладах), , ) КАК ХозрасчетныйОстатки
               |            ПО Номенклатура.Ссылка = ХозрасчетныйОстатки.Субконто1
               |        ПО ВТ_Товары.Артикул = Номенклатура.Артикул
               |
               |СГРУППИРОВАТЬ ПО
               |    ЕСТЬNULL(Номенклатура.Артикул, 0)";    
               Запрос.УстановитьПараметр("МоментВремени",ТекущаяДата());

ТабЗнач - Табличная часть с данными из файла

Запрос выводит

Индекс    Значение элемента    Тип элемента    Артикул    КоличествоОстаток
0    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    0    0
1    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    "9830 nappa"    90
2    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    "3143 camoscio"    8
3    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    "1309M old calf"    6
4    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    "1331T nappa"    8
5    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    "3574  vogue"    34
6    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    "10828 naplux"    46
7    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений    "1322T suede"    9
Независимо от того, куда вы едете — это в гору и против ветра!