Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 12
1C 8.x

Подскажите пожалуйста(выгрузка в excel)

23.05.2012, 22:44. Показов 3639. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста.
Выгружаю из 1С оборотно-сальдовую ведомость в шаблонный файл excel, т.е. необходимо руками указывать ячейки куда выгружаются остатки на начало\конец периода и обороты. Столкнулся с такой проблемой:при выполнении запросов формируются строки в таблицах(виртуальных) только по счетам, имеющим за данный период обороты\остатки... соответственно остальные счета(имеющие пустое значение и по дебету и по кредиту) не отображаются. Например за 2011 год нет сальдо на начало периода по счету 08, а за 2012 год есть, в таком случае индекс строки в виртуальной таблице смещается на 1 (был например [3] стал [4])... а при ручном прописывании это чревато тем что вся выгрузка "поплывет". Как можно сделать так, что бы запрос выполнялся и для счетов не имеющих остатков\оборотов, т.е в виртуальной таблице была пустая строка на это месте?Или может быть можно вместо индекса строки [...] например (
1C
1
ВыборкаИтогиОстаткиНаНачало[1].СуммаОстатокДт
) указывать на строку по номеру счета?
Запрос и выгрузка(кусок):
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//Запрос ОстаткиНаНачало
ЗапросОстаткиНаНачало = Новый Запрос;
ЗапросОстаткиНаНачало.Текст = ("ВЫБРАТЬ 
|   ХозрасчетныйОстатки.Счет,
|   ХозрасчетныйОстатки.СуммаОстатокДт,
|   ХозрасчетныйОстатки.СуммаОстатокКт
|ИЗ 
|   РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В ИЕРАРХИИ (&Счет), ) КАК ХозрасчетныйОстатки 
|УПОРЯДОЧИТЬ ПО 
| ХозрасчетныйОстатки.Счет.Код");
ЗапросОстаткиНаНачало.УстановитьПараметр("Дата", НачПериода); 
ЗапросОстаткиНаНачало.УстановитьПараметр("Счет", Счет);
РезультатЗапросаОстаткиНаНачало = ЗапросОстаткиНаНачало.Выполнить();
ВыборкаИтогиОстаткиНаНачало=РезультатЗапросаОстаткиНаНачало.Выгрузить();
//Выгрузка
Excel= Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(ИмяФайла);
    Excel.Sheets(2).Cells(14,2).Value=(ВыборкаИтогиОстаткиНаНачало[1].СуммаОстатокДт)/"1000";
    Excel.Sheets(2).Cells(14,3).Value=(ВыборкаИтогиОстаткиНаНачало[1].СуммаОстатокКт)/"1000";
Excel.Visible= Истина;
Excel.Application.Quit();
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2012, 22:44
Ответы с готовыми решениями:

Выгрузка данных в Excel
Добрый день! Посмотрите пожалуйста. Есть в обработке таблица значений, в которую я выгружаю данные их XML, после этого я корректирую...

Выгрузка информации из Excel в 1с
Добрый день! Случилась такая проблема, что на рабочем компьютере пропал файл с выгрузкой реализации из файла Excel в 1с. Поскольку нужен...

Выгрузка картинок в Excel
Выгружаю список номенклатуры из 1с в ексель, при этом в номенклатуре храниться путь картинки, при выгрузке подгружаю картинки, но они...

17
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
23.05.2012, 23:40
Делайте запрос к плану счетов, а к нему левым соединением присоединяйте остатки.
1
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
24.05.2012, 00:46
Правда, что ли? И делит?!
Excel.Sheets(2).Cells(14,2).Value=(Выбор каИтогиОстаткиНаНачало[1].СуммаОстатокДт)/"1000";
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 12
24.05.2012, 12:23  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
Делайте запрос к плану счетов, а к нему левым соединением присоединяйте остатки.
Попробую
Цитата Сообщение от duk337 Посмотреть сообщение
Правда, что ли? И делит?!
Excel.Sheets(2).Cells(14,2).Value=(Выбор каИтогиОстаткиНаНачало[1].СуммаОстатокДт)/"1000";
Правда делит

Добавлено через 4 часа 12 минут
Пробую написать запрос с левым соединением, ничего не получается.. почему то выводит только счета
1C
1
2
3
4
5
6
7
8
9
10
11
12
 
ВЫБРАТЬ 
| Код
|Из ПланСчетов.Хозрасчетный как ПланСчетов 
| 
| Левое СОЕДИНЕНИЕ
|   (Выбрать
|   ХозрасчетныйОстатки.СуммаОстатокДт,
|   ХозрасчетныйОстатки.СуммаОстатокКт
|ИЗ 
|   РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В ИЕРАРХИИ (&Счет), )как ХозрасчетныйОстатки) КАК Остатки
|ПО  ПланСчетов.Код=Остатки.СуммаОстатокКт
0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
24.05.2012, 12:32
Цитата Сообщение от MrPlankton Посмотреть сообщение
ПО *ПланСчетов.Код=Остатки.СуммаОстатокКт
Если так соединять, то конечно ничего не выйдет. Это то же самое что пытаться скрестить бульдога с носорогом

Нужно вывести в подзапрос поле ХозрасчетныйОстатки.Счет и соединять так:
ПО ПланСчетов.Ссылка=Остатки.Счет

Добавлено через 1 минуту
Почитайте литературу по языку SQL, полезно будет для понимания запросов 1С.
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
24.05.2012, 13:06
Цитата Сообщение от MrPlankton Посмотреть сообщение
Правда делит
Темна вода во облацех микрософта! А хотя это не ёксель, не формула ведь пишется в ячейку. Что-то подозрительно
Цитата Сообщение от MrPlankton Посмотреть сообщение
Пробую написать запрос с левым соединением, ничего не получается.. почему то выводит только счета
Да вообще лафа, а не жизнь! На строку делится, и по связи строки с суммой ошибки не выдаёт! Нано-мир, ёлы-палы... В конструкторе строили запрос? Надо в конструкторе... Запрос правильный, но связь по данным разных типов это нонсенс. Ощущение такое, что со страху
Fenomen подсказал, как д.б.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 12
24.05.2012, 14:25  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
Нужно вывести в подзапрос поле ХозрасчетныйОстатки.Счет и соединять так:
ПО ПланСчетов.Ссылка=Остатки.Счет
Люди с железными нервами, выручайте) поправил, все равно не работает..
1C
1
2
3
4
5
6
7
8
9
10
11
12
 ВЫБРАТЬ 
| Код
|Из ПланСчетов.Хозрасчетный как ПланСчетов 
| 
| Левое СОЕДИНЕНИЕ
|   (Выбрать
|   ХозрасчетныйОстатки.СуммаОстатокДт,
|   ХозрасчетныйОстатки.СуммаОстатокКт,
|   ХозрасчетныйОстатки.Счет
|ИЗ 
|   РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В ИЕРАРХИИ (&Счет), ) как ХозрасчетныйОстатки) КАК Остатки
|ПО  ПланСчетов.Ссылка=Остатки.Счет
Цитата Сообщение от duk337 Посмотреть сообщение
В конструкторе строили запрос?
Запрос строил в конструкторе
Цитата Сообщение от Fenomen Посмотреть сообщение
Почитайте литературу по языку SQL, полезно будет для понимания запросов 1С.
Спасибо за совет!

Добавлено через 1 минуту
Возвращает одну колонку со счетами (из плана счетов, а не из остатков)
0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
24.05.2012, 15:59
Цитата Сообщение от MrPlankton Посмотреть сообщение
Возвращает одну колонку со счетами (из плана счетов, а не из остатков)
Ну так Вы одно поле и выбираете! Добавьте поля из присоединенной таблицы.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 12
04.06.2012, 11:45  [ТС]
В продолжение темы.. При выполнении запроса(исправил запрос выше по теме)
1C
1
2
3
4
5
6
7
8
9
10
ВЫБРАТЬ 
|   Код,
|   ХозрасчетныйОбороты.СуммаОборотДт,
|   ХозрасчетныйОбороты.СуммаОборотКт,
|   ХозрасчетныйОбороты.Счет
|Из ПланСчетов.Хозрасчетный как ПланСчетов
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода,, Счет В ИЕРАРХИИ (&Счет), , , , ) как ХозрасчетныйОбороты
| ПО  ПланСчетов.Ссылка=ХозрасчетныйОбороты.Счет
| Упорядочить ПО
| ПланСчетов.Код
значения вводятся по только субсчетам, а мне необходимы оборты в целом по счету. Приходиться складывать по индексу в виртуальной таблице, а это не очень то умно, да конструкция получается зависимая от конкретного плана счетов. Т.е. я беру и складываю определенное количество значений субсчетов и получаю обороты(или остатки) по нужному счету.
1C
1
Excel.Sheets(2).Cells(13,2).Value=(ВОНН[1].СОсД+ВОНН[2].СОсД+ВОНН[3].СОсД)/1000;
Как можно автоматически складывать обороты субсчетов по счету( например 01) и выбирать из виртуальной таблицы обороты по нужному счету (например по счету), уходя от выборки по индексу ячейки виртуальной таблицы?
Миниатюры
Подскажите пожалуйста(выгрузка в excel)  
0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
04.06.2012, 12:50
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ВЫБРАТЬ
    ПланСчетов.Код,
    ПланСчетов.Ссылка КАК Ссылка,
    ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаОборотДт,
    ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотКт
ИЗ
    ПланСчетов.Хозрасчетный КАК ПланСчетов
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, , , , , , ) КАК ХозрасчетныйОбороты
        ПО ПланСчетов.Ссылка = ХозрасчетныйОбороты.Счет
ГДЕ
    НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках
 
УПОРЯДОЧИТЬ ПО
    ПланСчетов.Код
ИТОГИ
    СУММА(СуммаОборотДт),
    СУММА(СуммаОборотКт)
ПО
    Ссылка ИЕРАРХИЯ
При обработке запроса, не выгружайте его в таблицу, а используйте выборку из результатов запроса.
1
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 12
05.06.2012, 11:34  [ТС]
Спасибо!! Как раз то что нужно было!

Добавлено через 21 час 33 минуты
Использовал Ваш запрос, сделал выборку. Но теперь остатки по пассивным счетам возвращает не правильно.Вместо остатка по кредиту-выводит по дебету и со знаком "-".
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
05.06.2012, 13:47
1C
1
ВЫБОР КОГДА ПланСчетов.Вид=ВидСчета.Активный ТОГДА ХозрасчетныйОбороты.СуммаОборотДт ИНАЧЕ ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотДт
1
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 12
05.06.2012, 14:24  [ТС]
Ругается Поле не найдено "ВидСчета.Активный"
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
05.06.2012, 16:05
В запросе надо через параметр просто
(я ж в попыхах и на память писал как направление мысли )

1C
1
2
3
4
...
ВЫБОР КОГДА ПланСчетов.Вид=&Активный ТОГДА ХозрасчетныйОбороты.СуммаОборотДт ИНАЧЕ ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотДт
...
Запр.УКстановитьпараметр("Активный",ВидСчета.Активный )
1
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 12
06.06.2012, 01:13  [ТС]
Все получилось, спасибо!Получился код:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
ВЫБРАТЬ
    ПланСчетов.Код,
    ПланСчетов.Ссылка КАК Ссылка,
     ВЫБОР КОГДА ПланСчетов.Вид=&Активный или   ПланСчетов.Вид=&АктивноПассивный
     ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт  
     ИНАЧЕ 0
     КОНЕЦ КАК СуммаНачальныйОстатокДт, 
     
     ВЫБОР КОГДА ПланСчетов.Вид=&Пассивный или   ПланСчетов.Вид=&АктивноПассивный
     ТОГДА  ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт
     ИНАЧЕ 0 КОНЕЦ КАК СуммаНачальныйОстатокКт,
    ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт,
    ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт,
 
     
     ВЫБОР КОГДА ПланСчетов.Вид=&Активный или   ПланСчетов.Вид=&АктивноПассивный
     ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт  
     ИНАЧЕ 0
     КОНЕЦ КАК СуммаКонечныйОстатокДт, 
     
     ВЫБОР КОГДА ПланСчетов.Вид=&Пассивный или   ПланСчетов.Вид=&АктивноПассивный
     ТОГДА  ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт
     ИНАЧЕ 0 КОНЕЦ КАК СуммаКонечныйОстатокКт
ИЗ    ПланСчетов.Хозрасчетный КАК ПланСчетов
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода) КАК ХозрасчетныйОстаткиИОбороты
        ПО ПланСчетов.Ссылка = ХозрасчетныйОстаткиИОбороты.Счет
 
УПОРЯДОЧИТЬ ПО
    ПланСчетов.Код
ИТОГИ
    СУММА(СуммаОборотДт),
    СУММА(СуммаОборотКт),
    СУММА(СуммаНачальныйОстатокКт),
    СУММА(СуммаНачальныйОстатокДт),
    СУММА(СуммаКонечныйОстатокКт),
    СУММА(СуммаКонечныйОстатокДт)
ПО
    Ссылка ИЕРАРХИЯ
Правда криво выводятся остатки по АктивноПассивным счетам(т.к суммируются обороты по дебетам и крдитам субсчетов, которые являются пассивными или активными), т.е выводит значения и по Дт и по Кт, не вычитая из большего меньшее.Думаю решить это при выгрузки наложением условия.

Последний вопрос) нужно получить остатки и обороты по конкретной организации (например в демонстрационной базе их 4),пытаюсь задать соответствующий параметр в
1C
1
ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода,,,,,&Организация) КАК ХозрасчетныйОстаткиИОбороты
но выдается ошибка о неверном параметре "РегистрБухгалтерии.Хозрасчетный.Остатки ИОбороты". Т.е такого параметра в РегистрБухгалтерии.Хозрасчетный.ОстаткиИ Обороты не существует? Тогда как можно задать отбор остатков и оборотов по конкретной организации?
Скриншот глюка с АктивноПассивными счетами(Счет 60 активно-пассивный, должно быть "461*127,70"):
Миниатюры
Подскажите пожалуйста(выгрузка в excel)  
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
06.06.2012, 01:51
С пассивными, активными и радиоактивными - если лень думать. можно методом тыка ВЫБОР КОГДАТОГДАИНАЧЕ. На седьмой раз получится... Мне лень, устал (и так-то право-лево путаю, а тут Дт, Кт, А, П, АП, ПА...)
Организация в демобазе. А она есть в измерениях регистра бухгалтерии?
1C
1
Организация=&Организация
,блин, сплю на ходу
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 12
06.06.2012, 10:35  [ТС]
В измерениях регистра бухгалтерии есть. С активно-пассивными делал методом тыка, поэтому и спрашивал)
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
06.06.2012, 19:55
так я ж написал. Условие по измерениям пишется тривиально: <Измерение>=<Значение> (или &Парметр). А было типа как период: параметр, и всё
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.06.2012, 19:55
Помогаю со студенческими работами здесь

Выгрузка В ТЗ з строки с разделителем. Подскажите!
1C 7.7. В справочнике надо хранить информацию в виде ТЗ(из подчиненного справочника). В подчиненном справочнике делаю реквизит,тип-строка...

Подскажите пожалуйста!
Когда делаю начисление зарплаты и ставлю ДК там появляется по моему 5 ряд где перые столбики пустые. Подскажите пожалуйста для чего этот...

Подскажите, пожалуйста!
Предложили работу: написать инструкции для пользователя с правами администратора по 1С Предприятию 8.1 (Владивосток). Сколько стоит такая...

Подскажите пожалуйста
Здравствуйте форумчане. Подскажите пожалуйста, как в 1С можно конвертировать проценты в число? Чтоб, например, из 30% стало просто 30 ...

Выгрузка в excel
Как сделать выгрузку в Excel справочника и документа


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru