Версия для печати темы (https://pro1c.org.ua/index.php?s=5c412dbf167676f848baab0f966d3e69&showtopic=20363)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Создание внешней обработки

Автор: Redneck 22.10.14, 11:13

Доброго времени суток!
Сразу оговорюсь, что в 1С я новичок, как и в бухучете самом.
Релиз 1С 7.70.027
БУ Украина 7.70.302

В общем, в предверии инвентаризации такая задача стоит:

Нужно получить таблицу из 1С с такими данными по каждому объекту НМА для дальнейшей обработки в MS Excel (сводные таблицы, условное форматирование и т.п.:
1) Код
2) ПолнНаименование
3) ВидНеоборотногоАктива
4) ИнвенНомер
5) ДатаВвода
6) СрокИспользования
7) МестоХранения
8) Первичная стоимость
9) Износ (за период)
10) Остаточная стоимость (на конец периода)

Пожалуйста, подскажите, с чего мне начать и в какую сторону копать?
Насколько я понял, для этого мне нужно создать внешнюю обработку, правильно?
Большая часть данных есть в самом справочнике. Его выгрузить у меня получилось с помощью обработки, скачаной в Нэте.
А вот с последними тремя полями - никак. Совсем без идей.
Как можно эти данные достать из 1С?

Хотя меня не покидает чувство, что начинаю изобретать велосипед wink.gif
Если вдруг для этого уже где-то есть готовое решение, буду очень благодарен, если поделитесь.

P.S. Извините, если все-таки не в тот раздел написал.

Автор: Егор Динин 22.10.14, 12:18

Цитата(Redneck @ 22.10.14, 12:13) *
вот с последними тремя полями - никак. Совсем без идей.Как можно эти данные достать из 1С?

Первичная стоимость и Износ можно получить в оборотке, Остаточная стоимость как разница первых двух. В excel можно сВПРить по коду.
Или написать отчет.
Или скачать готовую ведомость по амортизации.
Если речь идет о переносе данных в другую учетную систему, вероятно этих данных буде недостаточно.

Автор: Redneck 22.10.14, 13:14

Цитата(Егор Динин @ 22.10.14, 13:18) *
Первичная стоимость и Износ можно получить в оборотке, Остаточная стоимость как разница первых двух. В excel можно сВПРить по коду.
Или написать отчет.
Или скачать готовую ведомость по амортизации.
Если речь идет о переносе данных в другую учетную систему, вероятно этих данных буде недостаточно.

Спасибо за ответ.

У меня пока не получается что-то нормально получить износ из ОСВ. То есть, выгрузить эти данные так, чтобы в таблице были указаны "Код" или "Инвент. номер" (желательно отдельной колонкой).
Тогда бы можно было, как Вы и советуете, доделать всё через ВПР (или ИНДЕКС+ПОИСКПОЗ). Но связующей колонки не хватает мне. И "Место хранения" аналогично.
Думаю, сначала в Excel попробую реализовать, а уже потом на основе этого дело внешний отчет сверстать.

Готовую ведомость по амортизации, к сожалению, не могу найти никак.


Автор: mister-x 22.10.14, 14:03

ваяв колись, трошки коду як приклад (без виведення на друк)

Ит = СоздатьОбъект("БухгалтерскиеИтоги"); 
    Ит13 = СоздатьОбъект("БухгалтерскиеИтоги");
    ит13.ПериодМ(КонДата);
    Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,ВыбМестоХранения);    
    Ит.ИспользоватьСубконто(ВидыСубконто.НеоборотныеАктивы,ВыбНеоборотныйАктив);
    Ит.ВключатьСубсчета(-1,-1);
    Ит.ВыполнитьЗапрос(,КонДата,"10,11,12");  
    ЗносВсего = 0;        
        Ит.ВыбратьСчета();
        Пока Ит.ПолучитьСчет()=1 Цикл            
            ЗносПоСчету = 0; н=0;
            Ит.ВыбратьСубконто();
            Пока Ит.ПолучитьСубконто()=1 Цикл
                Знос = 0;
                Ит.ВыбратьСубконто(2);
                Пока Ит.ПолучитьСубконто(2) = 1 Цикл
                    Знос = Знос+Ит13.СКК("13",1,,Ит.Субконто(2));
                КонецЦикла;
                ЗносПоСчету = ЗносПоСчету + Знос;
                н = н+1;                    
            КонецЦикла;
            ЗносВсего = ЗносВсего + ЗносПоСчету;            
        КонецЦикла;

ЗІ. є декілька варіантів, можу продати якщо що wink.gif

Автор: nysysimara 22.10.14, 14:47

моя старая поделка "НаличиеОС":
http://pro1c.org.ua/index.php?showtopic=6134

Автор: Redneck 23.10.14, 9:15

Цитата(nysysimara @ 22.10.14, 15:47) http://pro1c.org.ua/index.php?act=findpost&pid=92388

Nysysimara, огроменное спасибо! Как раз все то, что мне и нужно было. Сэкономили мне кучу времени 64000000.gif
Еще и программный код доходчиво написан. Благодарю, в общем.

Всем еще раз спасибо за советы и помощь.

Автор: Vofka 23.10.14, 9:15

Цитата(Redneck @ 23.10.14, 10:15) *
Nysysimara, огроменное спасибо!

Жмите палец.

Автор: Redneck 24.10.14, 8:38

"Допиливаю" немного эту обработку под свои нужды дополнительно.
Еще небольшой вопрос по теме:
Как можно выгрузить "Код" из справочника "НеоборотныеАктивы"? Все остальные поля добавляются просто, например:
Номер = НА.ИнвенНомер;
Шифр = НА.Шифр;

А вот вот "Код", я так понимаю, является скрытым реквизитом и его не видно в конфигураторе вообще. Или я не туда смотрю?

Автор: nysysimara 24.10.14, 9:56

НА.Код

Цитата
Код
Синтаксис:
Код
Назначение:
Доступ к значению реквизита 'Код' выбранного элемента справочника.

Автор: mister-x 24.10.14, 10:58

Цитата(Redneck @ 24.10.14, 8:38) http://pro1c.org.ua/index.php?act=findpost&pid=92493. На жаль, як у 8-ій версії, у 7.7 їх не можна побачити по окремій кнопці.

Автор: Redneck 24.10.14, 15:17

Спасибо! Получилось через "НА.Код" добавить нужное поле.
Пока с синтаксисом в 1С так непривычно работать после Delphi (и то только азы знаю). Надо все-таки больше времени уделить изучению теории и примерам, пожалуй.

Хочу к форме еще приделать кнопку "Сохранить в Excel" с двумя вариантами сохранения. В таком же виде и отдельно таблицу (двухмерную) без группировки вообще, чтобы было удобно через сводные таблицы Excel обрабатывать информацию. В общем, на пару дней занятий хватит для новичка, думаю. Потом заскочу еще, если попаду в тупик.



Автор: Домовик 24.10.14, 18:36

с реквизитом Код поосторожней. он предназначен в первую очередь для идентификации элемента справочника.


у меня когда-то был случай, когда человек с Эксель перенес список товаров, при этом реквизиту Код присвоил значение Артикула. т.к Артикул имеет большую размерность, размер реквизита Код был увеличен.
А потом звонят заказчики, и спрашивают, почему товар есть на остатках, а Расходная не проводится.
две абсолютно одинаково заполненных карточки, подчиненные справочники тоже в порядке, товары оба в остатке есть, но один товар проводится, а другой - нет.
В конфигурации при проведении создается ключ уникальности, в состав которого входит Код, для Ключа задан программно размер, кот учитывает размер реквизита Код типовой конфигурации. и в ключ последние символы кода просто не проходили, срезались.....



Делфи объектно-ориентированный язык, 1С -предметно-ориентированный. Классы в 1С уже не нужно создавать, они готовые, но нужно хорошо понимать их бухгалтерский смысл.

Автор: Redneck 29.10.14, 14:51

nysysimara, эх, никак не могу понять, в чем проблема. Может, подскажете еще раз, как мне быть?

Расклад такой:
Есть несколько групп ОС (например, куртки). Допустим, цена всех 5 штук - 3000. Код и инвентарный номер у них один, а материально ответственных лиц - 5.
Износ на сегодня, скажем. 2500.

Если в меню не выбирать "Места хранения", то все отлично и износ по всем объектам считается правильно.

А вот если выбрать в "МестаХранения" кого-нибудь из мат.ответ.лиц, на ком эти ОС числятся, то получается такая штука:
Перв.стоимость: 600 - правильно
Износ: 2500 - должно быть 500
Ост.стоимость: -1900 - минусовое

Пока вникаю в "Работу с бухгалтерскими итогами". Может в самом запросе быть неточность? Или не в этом дело?

Автор: nysysimara 29.10.14, 16:02

счет износа 13 не имеет аналитики по МестамХранения, к тому же он не колличественный
вот сумма износа и берется общей

Цитата
Код и инвентарный номер у них один,

мне кажется что сам подход не правильный, хотя мои бухи тоже так делают

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua