7.7 Отчёт Справочник.Номенклатура

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем Lista, 20 июл 2010.

  1. TopicStarter Overlay
    Lista
    Offline

    Lista

    Регистрация:
    20 июл 2010
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Надо сделать:
    Внешний Отчёт "Справочник.Номенклатура" с Кнопкой печать
    Количество граф в таблице не имеет значение.

    С 1С знаком не так давно и основ программирования нету.
    Пожалуста, объясните хотя бы, что именно нужно сделать в таком задании..?)
  2. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Послать постановщика задачи, если он не предоставил вид отчета :)
  3. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Ты уверен, что правильно понял задание? Или правильно нам его объяснил?
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Чет мне подсказывает, что автор просто хочет устроится 1Спрограммером, а для этого ему надо сделать элементарный вывод всех элементов (даже не важно в каком виде :unsure: )

    Для начала изучить 1С.
  5. TopicStarter Overlay
    Lista
    Offline

    Lista

    Регистрация:
    20 июл 2010
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Я не хочу устроиться 1С Программистом..меня им устроили на стажировку уже..а я вообще полный ноль в этом..
    И вот дали задание чтобы узнать мой уровень..
    Но похоже мой уровень это Интерфейс программы..))
    Сказали сделать внешний отчёт Справочника Номенклатуры..Сколько будет таблиц смысла не имеет и что там будет..и добавить кнопку печать..
    Вроде так всё говорили..
    Я учу-учу это 1С..но если бы программист объяснял на яхыке другом в отличии от слов программ..может и понятно было бы..)
  6. Kutuzov
    Offline

    Kutuzov

    Регистрация:
    15 июн 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Найди книгу в интернете Радченко практическое пособие разработчика что то подобное от туда можешь выудить.... Но если нет понятия, то понимание, если честно, не придет....
  7. TopicStarter Overlay
    Lista
    Offline

    Lista

    Регистрация:
    20 июл 2010
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Вид Процедуры:

    Код:
    Объект = Справочник
    Спр.Н = СоздатьОбъект("...");
    Спр.Н = ВыбратьЭлемент();
    Спр.Н = ПолучитьЭлемент()
    ------
    ------
    ------
    КонецЦикла;
    
    
    Шаги Выполнения:

    1. Создать Объект.
    2. ВыбратьЭлемент.
    3. Форма.
    4. Отчёт.
    а. Заготовка.
    б. Заполнение.

    Нужен отчёт по справочнику Номенклатура.
    И поподробнее объясните сам Цикл программы, Пожалуйста..)
  8. dedalx7
    Offline

    dedalx7 Опытный в 1С

    Регистрация:
    20 май 2009
    Сообщения:
    97
    Симпатии:
    0
    Баллы:
    26
    К сожалению, приведенный вами кусок кода как-то не вяжется с понятием здравый смысл.

    Хм, боюсь что если вы не понимаете что такое цикл - вам для начала следует почитать какой-нибудь ликбез по алгоритмам. Учебник информатики за 9-й класс вполе подойдет. (Я не шучу - это вполне серьезное предложение).

    Также было бы неплохо найти в Интернете где-нибудь сокращенный ликбез о процедурном и объектно-ориентированном видах программирования. Что такое процедуры, что такое объекты, что такое их свойства и методы и т.д.

    Если вы все понимаете, то большая часть нужной информации уже у вас в руках. В конфигураторе есть Синтаксис-Помощник, который с рабостью объяснит вам что делают и как работают те или иные команды.

    Ну а если хотите намек или подобие ТЗ на простейшее решение:

    1. Создайте объект Справочник.ХХХХХХ (где ХХХХХХ - название необходимого справочника)
    2. Создайте объект Таблица (для вывода информации в текст-графическом виде)
    3. Сделайте выборку по справочнику (.ВыбратьЭлементы())
    4. Используя в качестве аргумента цикла метод .ПолучитьЭлемент() перебором обойдите все элементы в выборке
    5. В теле цикла используете метод .ВывестиСекцию(), выводя секцию Таблицы (да, кстати, не забудьте перед этим создать саму таблицу - не объект, а шаблон - в конфигураторе, оформив ее - то-есть выведя в нее ссылки на все необходимые реквизиты переменной-объекта Справочник)
    6. После окончания цикла - не забудьте вывести созданную таблицу на экран методом .Показать()

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


    Напоследок: http://www.firststeps.ru/1c/
    "Первые Шаги", раздел 1С
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
  10. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Как в воду смотрел.... поэтому у нас и текучка такая
  11. TopicStarter Overlay
    Lista
    Offline

    Lista

    Регистрация:
    20 июл 2010
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Код:
    //*******************************************
    Процедура Сформировать()
    
    СпрН=СоздатьОбъект("Справочник.Номенклатура");
    СпрК=СоздатьОбъект("Справочник.Комплектация");
    
    Таб=СоздатьОбъект("Таблица");         
    
    Если флагВыводитьКомплектацию = 0 Тогда
    Таб.ВывестиСекцию("Шапка"+"|Наименование");              
    Таб.ПрисоединитьСекцию("Шапка"+"|Остаток");
    
    Иначе
    Таб.ВывестиСекцию("Шапка"+"|Наименование");              
    Таб.ПрисоединитьСекцию("Шапка"+"|состКомпл");              
    Таб.ПрисоединитьСекцию("Шапка"+"|КолКомпл");              
    Таб.ПрисоединитьСекцию("Шапка"+"|Остаток");              
    КонецЕсли;	
    
    
    СпрН.ВыбратьЭлементы();   //Выборка
    
    нП = 0;
    
    Пока СпрН.ПолучитьЭлемент()=1 Цикл    //Цикл получения элементов  
    
    Если СпрН.ЭтоГруппа() = 1 Тогда
    пГруппа = СпрН.Наименование;
    Таб.ВывестиСекцию("Группа");
    Продолжить;
    КонецЕсли;	
    
    нП 				= нП + 1;             
    пНаименование 	= СпрН.Наименование;   
    пОст 			= 0;                  
    
    Таб.ВывестиСекцию("Строка");       
    
    Если флагВыводитьКомплектацию = 1 Тогда
    
    
    СпрК.ИспользоватьВладельца(СпрН.ТекущийЭлемент());
    
    СпрК.ВыбратьЭлементы();   //Выборка
    
    Пока СпрК.ПолучитьЭлемент()=1 Цикл 
    
    пКомпл          = СпрК.Номенклатура;
    пКол            = СпрК.Количество;
    
    Таб.ВывестиСекцию("Состав");
    
    КонецЦикла;
    
    КонецЕсли;
    
    КонецЦикла;
    //******************************************
    
    
    пИтого = 0;
    Таб.ВывестиСекцию("Подвал");    
    
    Таб.Опции(0);
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Таблица");
    
    КонецПроцедуры
    
    
    При показе Таблицы, когда Флаг не выбран, нужно сдвинуть 5-ю таблицу влево на 1-у позицию, тоесть переместить её на 4-ю позицию. Как это можно сделать?
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Выложите лучше сам отчет
  13. TopicStarter Overlay
    Lista
    Offline

    Lista

    Регистрация:
    20 июл 2010
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Вот сам файлик Отчёта..

    Вложения:

    • 447.ert
      Размер файла:
      30,5 КБ
      Просмотров:
      63
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Убрал вам лишнюю секцию.
    Не забудьте вычислить остаток номенклатуры перед циклом подчиненного справочника комплекты. А то буде вечный ноль))))

    Вложения:

    • 447.ert
      Размер файла:
      47 КБ
      Просмотров:
      54
  15. TopicStarter Overlay
    Lista
    Offline

    Lista

    Регистрация:
    20 июл 2010
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Спасиба, но там не совсем то, что нужно было..
    Нужно Сдвинуть 5-ю строку на место 4-ой строки, чтобы убрать пустоту..
    Это когда Флаг не Выбран..)
  16. TopicStarter Overlay
    Lista
    Offline

    Lista

    Регистрация:
    20 июл 2010
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Подскажите пожалуста как сделать подсчёт "Итого" всего Остатка в этом отчёте?
    Сам Отчёт в Сообщении №13
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    ...
    СуммаИтог=0;
    Пока СпрН.ПолучитьЭлемент()=1 Цикл    //Цикл получения 
    элементов  
    Если СпрН.ЭтоГруппа() = 1 Тогда
    пГруппа = СпрН.Наименование;
    Таб.ВывестиСекцию("Группа");
    Продолжить;
    КонецЕсли;	
    нП= нП + 1;             
    пНаименование 	= СпрН.Наименование;   
    пОст 			= ГдетоЧегоТоТамВычислили;                  
    СуммаИтог=СуммаИтог+пОст;
    ...
    
    
  18. TopicStarter Overlay
    Lista
    Offline

    Lista

    Регистрация:
    20 июл 2010
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Почему-то он не ведёт подсчёт пОст
    Всё равно выводит 0
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Потому что (если не меняли ничего) там нет ВООБЩЕ расчета остатка
  20. TopicStarter Overlay
    Lista
    Offline

    Lista

    Регистрация:
    20 июл 2010
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Код:
    СуммаИтог=0;
    Пока СпрН.ПолучитьЭлемент()=1 Цикл    //Цикл получения 
    элементов  
    Если СпрН.ЭтоГруппа() = 1 Тогда
    пГруппа = СпрН.Наименование;
    Таб.ВывестиСекцию("Группа");
    Продолжить;
    КонецЕсли;	
    нП= нП + 1;             
    пНаименование 	= СпрН.Наименование;   
    пОст 			= ГдетоЧегоТоТамВычислили;                  
    СуммаИтог=СуммаИтог+пОст;
    
    Что именно в этой строчке нужно сделать:
    Код:
    пОст 			= ГдетоЧегоТоТамВычислили;
    
    Подскажите..

Поделиться этой страницей