Автор Тема: Задача №1 из нового задачника  (Прочитано 33911 раз)

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

Dmitry1c

  • Пользователь
  • **
  • Сообщений: 31
  • ФИО: Рудаков Дмитрий
Задача №1 из нового задачника
« Ответ #15 : Февраль 14, 2013, 09:20:41 pm »
Цитата
К регистру сведений доп запрос нужен будет
Дык спецу по платформе-то не проблема smile Или нельзя усложнять задачу? Зато обновлять такую конфигурацию легче, если регистр сведений...

beatthatthing

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Wazdukka Gutsmek
Задача №1 из нового задачника
« Ответ #16 : Февраль 14, 2013, 09:30:26 pm »
ИМХО регистр сведений - больше лишней информации даст, нежели несколько реквизитов документов. тем более в ряде задач тебе надо указать несколько видов сырья или чего-то там - в итоге в одну запись регистра ты не сделаешь это. 
 в любом случае - делаешь как удобно.
 насчет обновлений - оба варианта особого геморроя не принесут

 1) Регистр - Заполняешь его из формы при записи, должен удалять запись из регистра при пометке удаления, один фиг правишь форму (либо создавать подписку на событие при записи справочника), либо делаешь внешнюю печатную форму и суешь ее в печатную форму справочника, которая и будет заполнять. 

 или

 2) делаешь 3 доп реквизита и 1 таб часть документа


Dmitry1c

  • Пользователь
  • **
  • Сообщений: 31
  • ФИО: Рудаков Дмитрий
Задача №1 из нового задачника
« Ответ #17 : Февраль 14, 2013, 10:43:13 pm »
Код
Регистр - Заполняешь его из формы при записи, должен удалять запись из регистра при пометке удаления, один фиг правишь форму
есть простой способ "перейти", если сделать измерение ведущим, запись будет подчинена и появится слева от договора. Но так как указывается список, это не подойдет к задаче.
 

Добавлено (14.02.2013, 22:32)
---------------------------------------------
Может, у кого-то есть разбор решения этой задачи? А то тяжело так, сходу... Да еще и с бухучетом проблемы smile

Добавлено (14.02.2013, 22:35)
---------------------------------------------

Код
Лично я решила данный вопрос путем добавления забалансового счета МЦ.07 с  
 субконто Номенклатура, Договор, Контрагент + подписки на события  
 ПриПроведении двух документов ПередачаТоваров и  
 ПоступлениеИзПереработки. Я не знаю насколько это правильно - но мне  
 показалось что при этом изменения в конфигурации минимальны +  
 возможность пользоваться стандартными отчетами + проще строить свои  
 отчеты по дальнейшим задачам.


 Нужен ли тут контроль списания? Чтобы не списать больше, чем есть на счете?

Добавлено (14.02.2013, 22:43)
---------------------------------------------
Вопрос тем, кто сдавал специалист по платформе и специалист БП. Вот раньше, (когда спец по платформе 4 часа шел) времени жутко не хватало. А как обстоят дела на спеце по бухгалтерии?


Вложения:
s7787240.png

beatthatthing

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Wazdukka Gutsmek
Задача №1 из нового задачника
« Ответ #18 : Февраль 14, 2013, 10:45:46 pm »
если задача не поставлена - делать не нужно

olya

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Оля
Задача №1 из нового задачника
« Ответ #19 : Февраль 16, 2013, 10:28:05 am »
У кого-нибудь есть контрольный пример на первую задачу?

Dmitry1c

  • Пользователь
  • **
  • Сообщений: 31
  • ФИО: Рудаков Дмитрий
Задача №1 из нового задачника
« Ответ #20 : Февраль 17, 2013, 08:45:34 pm »
На забалансовом счете МЦ07 должен вестись только количественный учет? (для отчета)? или еще суммовой? В документе "Передача товаров" отсутствуют суммы - необходимо делать запрос к остаткам и вычислять себестоимостЬ?

Добавлено (17.02.2013, 20:45)
---------------------------------------------
Исходный код обработки проведения (для обоих документов) по счету МЦ07
 Прошу помочь с проверкой. В режиме 1С предприятия работает нормально, но я до сих пор не осознаю, в верном направлении я иду или нет. Отчет сделал.

 Не ясно: у меня никак не используются реквизиты договора. Чего с ними делать-то? Были мысли с его помощью заполнять табличную часть документов, но вообще не понимаю ничего, чего требуют на экзамене.

 

Код
Процедура ЭкзаменПередачаТоваровОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
      
     ИмяТабличнойЧасти = "ПередачаТоваров.Товары";
     Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПоступлениеИзПереработки") Тогда
          ИмяТабличнойЧасти = "ПоступлениеИзПереработки.ИспользованныеМатериалы";
     КонецЕсли;
      
     Движения = Источник.Движения.Хозрасчетный;
     Движения.Записывать = Истина;
      
     Запрос = Новый Запрос;
     Запрос.Текст =  
     "ВЫБРАТЬ
     |    ПередачаТоваровТовары.Номенклатура КАК Номенклатура,
     |    ПередачаТоваровТовары.СчетУчета КАК СчетУчета,
     |    СУММА(ПередачаТоваровТовары.Количество) КАК Количество
     |ПОМЕСТИТЬ ДокТЧ
     |ИЗ
     |    Документ." + ИмяТабличнойЧасти + " КАК ПередачаТоваровТовары
     |ГДЕ
     |    ПередачаТоваровТовары.Ссылка = &Источник
     |
     |СГРУППИРОВАТЬ ПО
     |    ПередачаТоваровТовары.Номенклатура,
     |    ПередачаТоваровТовары.СчетУчета
     |
     |ИНДЕКСИРОВАТЬ ПО
     |    Номенклатура,
     |    СчетУчета
     |;
     |
     |////////////////////////////////////////////////////////////////////////////////
     |ВЫБРАТЬ
     |    ДокТЧ.Номенклатура,
     |    ДокТЧ.Количество КАК ДокКол,
     |    ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстаток, 0) КАК ОстСум,
     |    ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток, 0) КАК ОстКол
     |ИЗ
     |    ДокТЧ КАК ДокТЧ
     |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
     |                &МоментВремени,
     |                СЧЕТ В
     |                    (ВЫБРАТЬ
     |                        Т.СчетУчета
     |                    ИЗ
     |                        ДокТЧ КАК Т),
     |                &ВидыСубконто,
     |                Организация = &Организация
     |                    И Субконто1 В
     |                        (ВЫБРАТЬ
     |                            Т.Номенклатура
     |                        ИЗ
     |                            ДокТЧ КАК Т)) КАК ХозрасчетныйОстатки
     |        ПО ДокТЧ.Номенклатура = ХозрасчетныйОстатки.Субконто1
     |            И ДокТЧ.СчетУчета = ХозрасчетныйОстатки.Счет";
      
     ВидыСубконто = Новый Массив;
     ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура);
     Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто);
     Запрос.УстановитьПараметр("Источник", Источник.Ссылка);
     Запрос.УстановитьПараметр("МоментВремени", Источник.МоментВремени());
     Запрос.УстановитьПараметр("Организация", Источник.Организация);
      
     Выборка = Запрос.Выполнить().Выбрать();
          
     Пока Выборка.Следующий() Цикл
          
         Нехватка = Выборка.ДокКол - Выборка.ОстКол;
         Если Нехватка > 0 Тогда
             Отказ = Истина;
             Сообщение = Новый СообщениеПользователю;
             Сообщение.Текст = "Нехватка "+ Выборка.Номенклатура + " в количестве " + Нехватка;
             Сообщение.Сообщить();
         КонецЕсли;
          
         Если Отказ Тогда
             Продолжить;
         КонецЕсли;
          
         Движение = Движения.Добавить();
         Движение.Период = Источник.Дата;
         Движение.Организация = Источник.Организация;
          
         Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПередачаТоваров") Тогда
             Движение.СчетДт = ПланыСчетов.Хозрасчетный.МЦ07;
             Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = Выборка.Номенклатура;
             Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты]  = Источник.Контрагент;
             Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = Источник.ДоговорКонтрагента;
             Движение.КоличествоДт = Выборка.ДокКол;
         ИначеЕсли ТипЗнч(Источник) = Тип("ДокументОбъект.ПоступлениеИзПереработки") Тогда
             Движение.СчетКт = ПланыСчетов.Хозрасчетный.МЦ07;
             Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = Выборка.Номенклатура;
             Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты]  = Источник.Контрагент;
             Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = Источник.ДоговорКонтрагента;
             Движение.КоличествоКт = Выборка.ДокКол;
         КонецЕсли;
          
         Движение.Сумма = ?(Выборка.ДокКол = Выборка.ОстКол, Выборка.ОстСум, Выборка.ДокКол * Выборка.ОстСум / Выборка.ОстКол);
              
          
     КонецЦикла;
      
       
 КонецПроцедуры

beatthatthing

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Wazdukka Gutsmek
Задача №1 из нового задачника
« Ответ #21 : Февраль 18, 2013, 09:57:44 am »
Код
Движения = Источник.Движения.Хозрасчетный;
    Движения.ЗАписывать = Истина;
    Если ТипЗнч(Источник.Ссылка) = Тип("ДокументСсылка.ПередачаТоваров") Тогда
       // из движений документа Передача товаров копируем дебетовую часть по счету 10.7
       Для Каждого СтрокаДвижения ИЗ Источник.Движения.Хозрасчетный Цикл
          Если СтрокаДвижения.СчетДТ.Код = "10.07" Тогда
             НоваяСтрока = Движения.Добавить();
             НоваяСтрока.СчетДт          = ПланыСчетов.Хозрасчетный.МЦ07;
             НоваяСтрока.Регистратор     = Источник.Ссылка;
             НоваяСтрока.Период         = Источник.Дата;
             НоваяСтрока.КоличествоДт   = СтрокаДвижения.КоличествоДт;
             НоваяСтрока.Активность      = Истина;
             НоваяСтрока.Организация      = Источник.Организация;
             БухгалтерскийУчет.УстановитьСубконто(НоваяСтрока.СчетДт, НоваяСтрока.СубконтоДт, "Номенклатура", СтрокаДвижения.СубконтоДт.Номенклатура);
             БухгалтерскийУчет.УстановитьСубконто(НоваяСтрока.СчетДт, НоваяСтрока.СубконтоДт, "Контрагенты", СтрокаДвижения.СубконтоДт.Контрагенты);
             БухгалтерскийУчет.УстановитьСубконто(НоваяСтрока.СчетДт, НоваяСтрока.СубконтоДт, "Договоры", Источник.ДоговорКонтрагента);
          КонецЕсли;
       КонецЦикла;    
    Иначе
       // из движений документа Поступление из переработки копируем кредитовую часть по счето 10.7
       Для Каждого СтрокаДвижения ИЗ Источник.Движения.Хозрасчетный Цикл
          Если СтрокаДвижения.СчетКт.Код = "10.07" Тогда
             НоваяСтрока = Движения.Добавить();
             НоваяСтрока.СчетКт          = ПланыСчетов.Хозрасчетный.МЦ07;
             НоваяСтрока.Регистратор     = Источник.Ссылка;
             НоваяСтрока.Период         = Источник.Дата;
             НоваяСтрока.КоличествоКт   = СтрокаДвижения.КоличествоКт;
             НоваяСтрока.Активность      = Истина;
             НоваяСтрока.Организация      = Источник.Организация;
             БухгалтерскийУчет.УстановитьСубконто(НоваяСтрока.СчетКт, НоваяСтрока.СубконтоКт, "Номенклатура", СтрокаДвижения.СубконтоКт.Номенклатура);
             БухгалтерскийУчет.УстановитьСубконто(НоваяСтрока.СчетКт, НоваяСтрока.СубконтоКт, "Контрагенты", СтрокаДвижения.СубконтоКт.Контрагенты);
             БухгалтерскийУчет.УстановитьСубконто(НоваяСтрока.СчетКт, НоваяСтрока.СубконтоКт, "Договоры", Источник.ДоговорКонтрагента);
          КонецЕсли;
       КонецЦикла;    
    КонецЕсли;

 Ну.. бегло пробежавшись по предложенному тобой спрошу:
 1) В задаче явно не сказано контролировать остатки, так зачем это делаешь ты? тем более контроль остатков изначально есть в БП (если говорить об оперативном проведении) - тебе просто дублировать остается лишь некоторые записи 
 2) Зачем организовывать суммовой учет, если в отчете по задаче отражается только количество? тем более твоя функция заточена под расчет средней (насколько я понял из строки движение.сумма = ...). А к примеру если в организации установлен метод списания МЦ ФИФО (то есть первый пришел - первый ушел) и партии? В общем мое скромное мнение: если задача не ставится - зачем усложнять

 Насчет реквизитов договра - я их только тянул в отчеты при необходимости. 

 
Цитата (Dmitry1c)
но вообще не понимаю ничего, чего требуют на экзамене
как там было на спеце по платформе у тебя? "Если в задаче не указано вести учет остатков - реализовывать механизм не нужно"

Dmitry1c

  • Пользователь
  • **
  • Сообщений: 31
  • ФИО: Рудаков Дмитрий
Задача №1 из нового задачника
« Ответ #22 : Февраль 18, 2013, 03:10:33 pm »
Цитата
как там было на спеце по платформе у тебя? "Если в задаче не указано вести учет остатков - реализовывать механизм не нужно"
Вот как раз по этой причине я его не смог сдать с 3го раза. В задаче не было явно сказано - а потом пришел ответ с ошибками biggrin

Добавлено (18.02.2013, 15:09)
---------------------------------------------

Цитата
Зачем организовывать суммовой учет, если в отчете по задаче отражается только
 количество? тем более твоя функция заточена под расчет средней
 (насколько я понял из строки движение.сумма = ...). А к примеру если в
 организации установлен метод списания МЦ ФИФО (то есть первый пришел -
 первый ушел) и партии? В общем мое скромное мнение: если задача не
 ставится - зачем усложнять
Да вот там не ясно, какой там учет - я решил сделать оба сразу, думаю, ничего страшного.

Добавлено (18.02.2013, 15:10)
---------------------------------------------
насчет мц фифо не подумал даже smile


beatthatthing

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Wazdukka Gutsmek
Задача №1 из нового задачника
« Ответ #23 : Февраль 18, 2013, 03:21:59 pm »
у меня под рукой лежит периодически задачник по платформе. так вот, есть задачи, где есть контроль остатков - так в них и написано, что нужен он.

olya

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Оля
Задача №1 из нового задачника
« Ответ #24 : Февраль 20, 2013, 07:05:05 am »
Согласна с beatthatthing, зачем усложнять все? я тоже сделала цикл по проводкам документов и все отлично работает, оттуда и количество и сумму можно подтянуть в свои проводки;)

olya

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Оля
Задача №1 из нового задачника
« Ответ #25 : Февраль 24, 2013, 06:54:35 pm »
Поделитесь, кто как делал отчет ко второй задаче? Мое решение вот
Вложения:
9484154.erf

beatthatthing

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Wazdukka Gutsmek
Задача №1 из нового задачника
« Ответ #26 : Февраль 25, 2013, 09:34:32 am »
Код
ВЫБРАТЬ
     ДоговорыКонтрагентов.Ссылка КАК Договоры,
     ДоговорыКонтрагентов.Полуфабрикат КАК ПолуфабрикатД,
     ДоговорыКонтрагентов.Количество КАК КоличествоД
 ПОМЕСТИТЬ ДоговорыЗаПериод
 ИЗ
     Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
 ГДЕ
     ДоговорыКонтрагентов.ДатаИсполнения МЕЖДУ &НачалоПериода И &КонецПериода
     И ДоговорыКонтрагентов.Количество > 0
 ;

 ////////////////////////////////////////////////////////////////////////////////
 ВЫБРАТЬ
     ДоговорыЗаПериод.Договоры КАК Договор,
     ДоговорыЗаПериод.ПолуфабрикатД КАК Полуфабрикат,
     МАКСИМУМ(ДоговорыЗаПериод.КоличествоД) КАК КоличествоПоДоговору,
     СУММА(ЕСТЬNULL(ХозрасчетныйОбороты.КоличествоОборотДт, 0)) КАК КоличествоФакт,
     МАКСИМУМ(ДоговорыЗаПериод.Договоры.Владелец) КАК Контрагент
 ПОМЕСТИТЬ Суммы
 ИЗ
     ДоговорыЗаПериод КАК ДоговорыЗаПериод
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(, , Запись, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Полуфабрикаты), , Субконто1.Ссылка ССЫЛКА Справочник.Номенклатура, , ) КАК ХозрасчетныйОбороты
        ПО ДоговорыЗаПериод.Договоры.Ссылка = ХозрасчетныйОбороты.Регистратор.ДоговорКонтрагента
           И ДоговорыЗаПериод.ПолуфабрикатД = ХозрасчетныйОбороты.Субконто1
 ГДЕ
     ХозрасчетныйОбороты.Регистратор.ДоговорКонтрагента В
           (ВЫБРАТЬ
              ДоговорыЗаПериод.Договоры
           ИЗ
              ДоговорыЗаПериод КАК ДоговорыЗаПериод)

 СГРУППИРОВАТЬ ПО
     ДоговорыЗаПериод.Договоры,
     ДоговорыЗаПериод.ПолуфабрикатД
 ;

 ////////////////////////////////////////////////////////////////////////////////
 ВЫБРАТЬ
     Суммы.Договор,
     Суммы.Полуфабрикат,
     Суммы.КоличествоПоДоговору,
     Суммы.КоличествоФакт,
     Суммы.КоличествоПоДоговору - ЕСТЬNULL(Суммы.КоличествоФакт, 0) КАК РазницаКоличество,
     (Суммы.КоличествоПоДоговору - Суммы.КоличествоФакт) * (Суммы.КоличествоПоДоговору / Суммы.Договор.СтоимостьПереработки) КАК РазницаСумма,
     Суммы.Контрагент
 ИЗ
     Суммы КАК Суммы
 ГДЕ
     Суммы.КоличествоПоДоговору > Суммы.КоличествоФакт

 вот собственно что для отчета ко второй задаче писал
« Последнее редактирование: Февраль 25, 2013, 09:38:26 am от Wazdukka Gutsmek »

fufirka

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Ирина
Задача №1 из нового задачника
« Ответ #27 : Март 29, 2013, 10:08:52 am »
А в  задаче надо создавать новый документ "Договор" или достаточно изменить справочник? И в 1й задаче в отчете напротив договора №16 что за данные? Откуда 100 в расходе?
« Последнее редактирование: Март 29, 2013, 11:01:33 pm от Ирина »

olalaeva

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Ольга
Задача №1 из нового задачника
« Ответ #28 : Апрель 10, 2013, 11:19:49 am »
Добрый день! Собираюсь сдавать спеца по БУХ 3.0. При решении этой задачи тоже добавила забалансовый счет МЦ07, при этом отчет сделать легко, вот
 его текст(думаю правильно):
 ВЫБРАТЬ
     ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Материал,
     ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт  КАК ОстатокНаНачалоПериода,
     ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Договор,
     ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК Приход,
     ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК Расход,
     ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК ОстатокНаКонецПериода
 ИЗ
     РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода,
 &КонецПериода, Период, , Счет =
 ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаПереработке), , ) КАК
 ХозрасчетныйОстаткиИОбороты

 Подскажите, пожалуйста, имеет ли смысл дорабатывать справочник "Договоры" и добавлять новые реквизиты. И
 если имеет смысл, то необходимо ли при заполнении табл части д-та
 "Передача товаров" проверять на соответствие сырье, указанное в
 документе и сырье, указанное в договоре?

 Заранее спасибо за ответ!!!

IgorXml

  • Пользователь
  • **
  • Сообщений: 42
  • IgorXml
  • ФИО: Игорь
Задача №1 из нового задачника
« Ответ #29 : Апрель 15, 2013, 06:21:23 pm »
Извините, не по теме вопрос wink Прочитал бегло задачу. Последнее предложение в задании: "... Он должен вызываться с закладки "Производство" панели функций."
 Задание из БП 1.6 или 2.0?
« Последнее редактирование: Апрель 15, 2013, 10:01:41 pm от Игорь »