Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Автор Тема: Журнал-ордер 1С  (Прочитано 16962 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #25 : 26.11.2009, 22:16:56 »

Зачем ликвидировать? пусть висит. Может кому сгодится.

По поводу конца и начала периода. Конец одного - всегда начало другого.

Допустим Вам нужны остатки на начало и конец ноября. Берете остатки на 30.11 и 31.10. Собираете в одну таблицу, строите сводную и выносите дату в заголовок столцов. Все. Вы получаете данные на начало и конец по каждой позиции.
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #26 : 27.11.2009, 09:07:48 »

в принципе логично :)


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

Алексей, возможно ли чтобы обработка выгружала и наименование и инвентарный номер либо в одной колонке с наименование объекта либо в соседней?
« Последнее редактирование: 27.11.2009, 14:47:10 от iron priest »
Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #27 : 27.11.2009, 20:38:15 »

Конечно, возможно. Просто это обработка общего вида, а у Вас конкретная задача под конкретный счет.

У Вас в коде есть образец, как это сделать:

            если Ит.субконто(1).ПредставлениеВида()="Контрагенты" тогда     
               //ИНН=   Ит.субконто(1).ИНН;
               ПолнНаименование=Ит.субконто(1).ПолнНаименование ;
            конецесли;

Делайте по аналогии. Найдите в дереве конфигурации, правильно как называется у Вас субконто справочника основных средств и замените Ит.субконто(1).ПредставлениеВида()="Контрагенты" на Ит.субконто(1).ПредставлениеВида()="ОсновныеСредства" (например).
Дальше в нутри вместо               ПолнНаименование=Ит.субконто(1).ПолнНаименование ;
пишем что-то типа ИнвентарныйНомер=Ит.субконто(1).ИнвентарныйНомер ;
Только посмотрите, как правильно называется поле справочника ОС с инвентарным номером.
И последний штрих. В таблице в секции Субконто1 в отдельный столбец вставляем формулу <ИнвентарныйНомер>.
Ну, для красоты еще можно название столбца приписать в секцию Шапка (или как там она называется?).

Кстати, еще одно преимущество выгрузки перед стандартной ОСВ - вы можете увидеть не только начальный и конечный остаток по позиции, а построить, например ежедневную или ежемесячную динамику. С помощью все той же сводной таблицы.
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #28 : 27.11.2009, 20:59:48 »

спасибо, щас буду куралесить :D
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #29 : 27.11.2009, 21:21:14 »

подправил. вот такое получилось


если Ит.субконто(1).ПредставлениеВида()="НеоборотныеАктивы" тогда      
               //ИНН=   Ит.субконто(1).ИНН;  
               ИнвенНомер=Ит.субконто(1).ИнвенНомер;
            конецесли;


но выдает ошибку

Неопознанный оператор
<<?>><ИнвенНомер>

Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #30 : 27.11.2009, 22:33:37 »

Мда. Сложно, конечно, дистанционно. Может Вы формулу неправильно ввели? Там как-то настройки в свойствах нужно. А проще скопируйте ячейку с ПолнымНаименованием и измените текст в строке формул. Угловые кавычки должны сами подставиться, если все правильно. их вводить не нужно.
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #31 : 28.11.2009, 08:57:42 »

ааа, а я их от руки сделал))

а в остальном правильно?


такс, заменил в свойствах ячейки с текста на выражение и скобки сами появились. но при выгрузки в файле колонка Инв. Номер есть, но она пустая
« Последнее редактирование: 28.11.2009, 09:45:17 от iron priest »
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #32 : 28.11.2009, 12:13:26 »

рабочий код


//*******************************************
//{{БУХГАЛТЕРСКИЙ ЗАПРОС(Сформировать)

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

//{{ Схема номер 1
//{{ ПодробноеПредставлениеСубконто

Процедура Сформировать()
   Сообщить("Начинаю выгрузку сальдо на "+ВыбКонПериода);
   Прдпр=Константа.БазФирма;
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   Ит = СоздатьОбъект("БухгалтерскиеИтоги");
   //Ит.ИспользоватьСубконто(ВыбВидСубконто1,, 1);
   Ит.ИспользоватьСубконто();
   //Ит.ИспользоватьСубконто();
   //Ит.ИспользоватьСубконто();
   Ит.ВключатьСубсчета(-1);
   Ит.ВыполнитьЗапрос(ВыбКонПериода, ВыбКонПериода, ,,, 1,, "С");
   Таб.ВывестиСекцию("константы");
   Таб.ВывестиСекцию("Счет");
   Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
   Ит.ВыбратьСчета();
   Пока Ит.ПолучитьСчет() = 1 Цикл
      //Таб.ВывестиСекцию("Счет");
      Сбк=Ит.Счет.КоличествоСубконто();    //считаем нулевые субконто
      Если Сбк = 0 Тогда
         ПолнНаименование=Ит.Счет.Наименование;   
         дебс=ит.скд();
         кредс=ит.скк();
         Таб.ВывестиСекцию("Субконто1");
      иначе
         деб=ит.скд();
         кред=ит.скк();
         Ит.ВыбратьСубконто(1,,,,,,1);
         Пока Ит.ПолучитьСубконто() = 1 Цикл
            ПолнНаименование=Ит.субконто(1);
            если Ит.субконто(1).ПредставлениеВида()="Контрагенты" тогда     
               //ИНН=   Ит.субконто(1).ИНН; 
               ПолнНаименование=Ит.субконто(1).ПолнНаименование ;
            конецесли;
            дебс=ит.скд();
            кредс=ит.скк();
            Таб.ВывестиСекцию("Субконто1");
            деб=деб-ит.скд();
            кред=кред-ит.скк();
         КонецЦикла;
         Если (деб<>0) или (кред<>0) Тогда
            ПолнНаименование=Ит.Счет.Наименование;   
            дебс=деб;
            кредс=кред;
            Таб.ВывестиСекцию("Субконто1");
         КонецЕсли;         
      конецесли;
   КонецЦикла;
   //Таб.ВывестиСекцию("Подвал");
   //Таб.ТолькоПросмотр(1);
   //Таб.Показать("Сформировать","");
   КаталогИ="C:\Documents and Settings\Adm\Рабочий стол\";//"C:\Buh\";//КаталогИБ()+"ExtForms\";
   отчет_ф= КаталогИ + "Сальдо по счетам "+СтрЗаменить(СокрЛП(Константа.БазФирма),"""","")+" на "+ВыбКонПериода+".txt";//+СокрЛП(СтрЗаменить(Фильтр,"*","x"),":",".")
   таб.записать(отчет_ф,"TXT");
   сообщить("Подготовлен файл "+отчет_ф);
   //ЗапуститьПриложение("explorer.exe /select, "+отчет_ф);
   //Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
   //   ЗавершитьРаботуСистемы();
   //КонецЕсли;
   
КонецПроцедуры
//}}БУХГАЛТЕРСКИЙ ЗАПРОС 

Процедура Автоматически()
   
   //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА(Сформировать)
   //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА
   
   //Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
      //ВыбКонПериода = "31.12.2007";
      //Сформировать();
      //ВыбКонПериода = "31.01.2008";
      //Сформировать();
      //ВыбКонПериода = "29.02.2008";
      //Сформировать();
      //ВыбКонПериода = "31.03.2008";
      //Сформировать();
      ВыбКонПериода = НачМесяца(ТекущаяДата())-1;
      Сформировать();
      ВыбКонПериода = НачМесяца(НачМесяца(ТекущаяДата())-1)-1;
      Сформировать();
      ВыбКонПериода = НачМесяца(НачМесяца(НачМесяца(ТекущаяДата())-1)-1)-1;
      Сформировать();
      ВыбКонПериода = ТекущаяДата()-2;
      Сформировать();
      ВыбКонПериода = ТекущаяДата()-1;
      Сформировать();
      ВыбКонПериода = ТекущаяДата();
      Сформировать();
      //ЗавершитьРаботуСистемы();
   //КонецЕсли;
      сообщить("Готово!");
КонецПроцедуры

Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #33 : 28.11.2009, 12:22:47 »

картинка отладчика

Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #34 : 01.12.2009, 18:47:37 »

с вновь возвращаюсь к теме.

я решил добавить графу количеству в данный отчет

как я понял количество выводится при помощи ит.скд(3) или ит.скд("К")

все вроде бы так как написано в книжке, но отчет формируется, а количество везде стоит 0

где я не прав?

Процедура Сформировать()
Сообщить("Начинаю выгрузку сальдо на "+ВыбКонПериода);
Прдпр=Константа.БазФирма;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
//Ит.ИспользоватьСубконто(ВыбВидСубконто1,, 1);
Ит.ИспользоватьСубконто();
//Ит.ИспользоватьСубконто();
//Ит.ИспользоватьСубконто();
Ит.ВключатьСубсчета(-1);
Ит.ВыполнитьЗапрос(ВыбКонПериода, ВыбКонПериода, ,,, 1,, "С");
Таб.ВывестиСекцию("константы");
Таб.ВывестиСекцию("Счет");
Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
Ит.ВыбратьСчета();
Пока Ит.ПолучитьСчет() = 1 Цикл
//Таб.ВывестиСекцию("Счет");
Сбк=Ит.Счет.КоличествоСубконто();    //считаем нулевые субконто
Если Сбк = 0 Тогда
ПолнНаименование=Ит.Счет.Наименование;  
дебс=ит.скд();
кредс=ит.скк();
дебскол=ит.скд(3);
кредскол=ит.скк(3);
Таб.ВывестиСекцию("Субконто1");
иначе
деб=ит.скд();
кред=ит.скк();
дебскол=ит.скд(3);
кредскол=ит.скк(3);
Ит.ВыбратьСубконто(1,,,,,,1);
Пока Ит.ПолучитьСубконто() = 1 Цикл
ПолнНаименование=Ит.субконто(1);
если Ит.субконто(1).ПредставлениеВида()="Контрагенты" тогда      
//ИНН=   Ит.субконто(1).ИНН;  
ПолнНаименование=Ит.субконто(1).ПолнНаименование ;
дебскол=ит.скд(3);
кредскол=ит.скк(3);
конецесли;
дебс=ит.скд();
кредс=ит.скк();
Таб.ВывестиСекцию("Субконто1");
деб=деб-ит.скд();
кред=кред-ит.скк();
КонецЦикла;
Если (деб<>0) или (кред<>0) Тогда
ПолнНаименование=Ит.Счет.Наименование;  
дебс=деб;
кредс=кред;
Таб.ВывестиСекцию("Субконто1");
КонецЕсли;
конецесли;
КонецЦикла;
//Таб.ВывестиСекцию("Подвал");
//Таб.ТолькоПросмотр(1);
//Таб.Показать("Сформировать","");
КаталогИ="C:\Documents and Settings\Adm\Рабочий стол\";//"C:\Buh\";//КаталогИБ()+"ExtForms\";
отчет_ф= КаталогИ + "Сальдо по счетам "+СтрЗаменить(СокрЛП(Константа.БазФирма),"""","")+" на "+ВыбКонПериода+".txt";//+СокрЛП(СтрЗаменить(Фильтр,"*","x"),":",".")
таб.записать(отчет_ф,"TXT");
сообщить("Подготовлен файл "+отчет_ф);
//ЗапуститьПриложение("explorer.exe /select, "+отчет_ф);
//Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
// ЗавершитьРаботуСистемы();
//КонецЕсли;


ЗЫ: лепил как душа чувстовала, ибо по другому покамисть не умею
Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #35 : 01.12.2009, 19:06:24 »

Ага, понятно. Нужно писать скк(,3), мы ведь первый агрумент пропускаем.
А у счета внеоборотных активов разве есть количественный учет? Там же на каждое ОС должен быть отдельный инвентарный номер? Или нет?
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #36 : 01.12.2009, 19:26:40 »

а почему скк? ведь нада сальдо дебетовое конечное?


а это я изначальный ЖО рихтую))) под материалы))
Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #37 : 01.12.2009, 19:37:52 »

а, это я по памыти. скк или скд или снд и т.п.
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #38 : 01.12.2009, 19:44:22 »

тогда где мне исправить,?
Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #39 : 01.12.2009, 19:48:58 »

Важна запятая перед тройкой. Тип данных - это второй аргумент. Первый (номер счета) мы не заполняем, поэтому ставим запятую перед вторым аргументом.
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #40 : 01.12.2009, 19:56:15 »

дебскол=ит.скд(,3);
{C:\DOCUMENTS AND SETTINGS\ADM\РАБОЧИЙ СТОЛ\САЛЬДО ПО ВСЕМ СЧЕТАМ.ERT(39)}: Слишком много параметров передано при вызове функции/процедуры объекта
 :(
Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #41 : 01.12.2009, 20:10:53 »

а, да, был неправ. Это другой вариант получения итогов. Не нужна запятая.
Понял. Строку

Ит.ВыполнитьЗапрос(ВыбКонПериода, ВыбКонПериода, ,,, 1,, "С");

Нужно заменить на

Ит.ВыполнитьЗапрос(ВыбКонПериода, ВыбКонПериода, ,,, 1,,5);
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #42 : 01.12.2009, 20:13:32 »

во шото выгрузилось. щас проверю)))
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #43 : 01.12.2009, 20:16:14 »

первый этап по одному счет прошел успешно!!!

второй тоже. все правильно работает!!! очередное спасибо и поклон перед вашими знаниями!
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #44 : 02.12.2009, 17:32:48 »

шьёрт побери, хочу добавить еще одну графу "единица измерения"

поискал по примерам используется константа БазЕдиница. прилепил её как Ед=Ит.субконто(1).БазЕдиница.

пишет

Поле агрегатного объекта не обнаружено (БазЕдиница)

понимаю что-то то не так, потому что я использую субконто1, где нет БазЕдиница

а как тогда это сделать не могу понять




но пример я смотрел для материального отчета, где используется видсубконто ТМЦ
Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #45 : 02.12.2009, 19:59:49 »

Эт точно не константа нужна. Вам нужно искать подходящее поле в справочнике номенклатуры (о нем речь идет?).
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #46 : 02.12.2009, 21:38:17 »

в справочнике есть "Единицы"

подставлял и единицы, таже самая ошибка

в Единицах есть подпункт Единица. с ней история аналогичная

Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #47 : 02.12.2009, 21:44:46 »

Тогда запускаете в отладчике и смотрите, как там все по правильному.
Записан

iron priest

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +34/-0
  • Оффлайн Оффлайн
  • Сообщений: 766
  • почётный флудераст
Re: Журнал-ордер 1С
« Ответ #48 : 02.12.2009, 22:33:21 »

честно  я  не понял смысла отладчика, поэтому обойдусь без единиц измерения


хотя чувствую, что  я близ к истене))
Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER
Re: Журнал-ордер 1С
« Ответ #49 : 02.12.2009, 22:37:37 »

Еще вариант - влезьте в конфигураторе в стандартную ОСВ по счету - там, кажется, где-то указываются единицы измерения по количественному учету.
Записан
 



Темы без ответов

06.09.2017 10:43 Solver VBA не решает гиперболическое уравнение, но при этом решает гармоническое 99
17.08.2017 12:15 Гиперссылка и фильтр одновременно макрос 210
13.06.2017 00:27 Сводная таблица: как не вручную отсортировать в опред. порядке (не Custom List) 617
23.05.2017 11:20 Копирование данных из одной таблицы в умную таблицу по условию 1067
18.05.2017 15:45 Не работает гиперссылка при копировании. 589
15.03.2017 15:45 автозамена картинок PowerPoint 829
13.03.2017 07:09 Использование базы КЛАДР в exel 1178
11.03.2017 13:43 Изменить нумерацию страниц 1055
10.03.2017 08:40 Как делать бекапы гугл таблицы? 896
18.02.2017 11:31 Изменить ввод данных помогите...из столбца в таблицу. 1126





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.089 секунд. Запросов: 73.