8.х Доработка формы Т-60

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Valentus, 16 июл 2010.

  1. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    Добрый день!
    Конфигурация "Комплексная автоматизация" 8.1.
    Документ "Начисление отпуска сотрудникам организаций" в форме Т-60 необходимо поправить следующее: в колонке "Всего начислено" вместо суммы "начислено отпускных" необходимо сделать так, чтобы была сумма начислено отпускных+сумма из документа "Оплата по среднему заработку" (документ может быть один, или несколько к отному отпуску)
    Заранее благодарен за совет.
  2. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    :( Вообще не могу найти модуль редактирования процедуры печати Т_60
  3. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Пишите внешнюю печатную форму..
    процедура находится
    Общий модуль
    НачислениеОтпускаРаботникамОрганизацийДополнительный
    Процедура ПечатьТ60
  4. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    В макете формы Т-60 суммируются поля "НачисленоОтпускныхЗаТекущийМесяц" и "НачисленоОтпускныхЗаБудущиеМесяцы", хотел бы добавить поле, чтобы туда попадала сумма начисления документа "Оплата по среднему заработку. Как можно это добавить?
  5. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну пишите запрос к регистру расчета с отбором по виду расчета Средний заработок и периодом. Получите сумму. При выводе прибавляйте ее к той что по отпуску
  6. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    Написал такой запрос:
    СреднийЗаработокТекст =
    "ВЫБРАТЬ
    | СУММА(Начисления.СреднийЗаработок) КАК СреднийЗаработок,
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ КАК ВидМесяца
    |ИЗ
    | (ВЫБРАТЬ
    | Начисления.ПериодДействияНачало КАК ПериодДействияНачало,
    | Начисления.Результат КАК СреднийЗаработок
    | ИЗ
    | РегистрРасчета.РасчетСреднегозаработка КАК Начисления
    | ГДЕ
    | Начисления.Регистратор = &Регистратор
    | И (НЕ Начисления.Сторно)
    |
    | ОБЪЕДИНИТЬ ВСЕ
    |
    | ВЫБРАТЬ
    | РасчетСреднегозаработка.ПериодРегистрации,
    | РасчетСреднегозаработка.Результат
    | ИЗ
    | РегистрРасчета.РасчетСреднегозаработка КАК РасчетСреднегозаработка
    | ГДЕ
    | РасчетСреднегозаработка.Регистратор = &Регистратор
    | И (НЕ РасчетСреднегозаработка.Сторно)) КАК Начисления
    |
    |СГРУППИРОВАТЬ ПО
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ";



    Запрос.Текст = СреднийЗаработокТекст;
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    Если Выборка.ВидМесяца = "Текущий" Тогда
    ОплатаПоСрЗарТекущийМесяц = Выборка.СреднийЗаработок;
    Иначе
    ОплатаПоСрЗарБудущийМесяц = Выборка.СреднийЗаработок;

    КонецЕсли;
    КонецЦикла;

    При выборе печатной формы в режиме предприятия выдаёт ошибку:
    {ОбщийМодуль.НачислениеОтпускаРаботникамОрганизацийДополнительный(1493)}: Ошибка при вызове метода контекста (Выполнить): {(10, 14)}: Поле не найдено "Начисления.ПериодДействияНачало"
    Начисления.<<?>>ПериодДействияНачало КАК ПериодДействияНачало,
    Выборка = Запрос.Выполнить().Выбрать();

    Не подскажите, что я забыл или не так сделал?
  7. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Вам Нужен регистр расчет ОСновные начисления а не средний заработок, а из регистра расчета основные начисления выбирайте те строки где вид расчета средний заработок
  8. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    А как должна выглядить строка в запросе?
    РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.ОсновныеНачисленияОрганизации...?
  9. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета В (&СписокВидовРасчета)

    потом в модуле далее определите этот список и добавите его в параметр.
  10. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    Вот что получилось, но ругается на скобку :(
    СреднийЗаработокТекст =
    "ВЫБРАТЬ
    | СУММА(Начисления.ОсновныеНачисленияРаботниковОрганизаций) КАК СреднийЗаработок,
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ КАК ВидМесяца
    |ИЗ
    | (ВЫБРАТЬ
    | Начисления.ПериодДействияНачало КАК ПериодДействияНачало,
    | Начисления.Результат КАК СреднийЗаработок
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета В (&СписокВидовРасчета) КАК Начисления
    | ГДЕ
    | Начисления.Регистратор = &Регистратор
    | И (НЕ Начисления.Сторно)
    |
    | ОБЪЕДИНИТЬ ВСЕ
    |
    | ВЫБРАТЬ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.ПериодРегистрации,
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Результат
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета В(&СписокВидовРасчета) КАК РасчетСреднегоЗаработка
    | ГДЕ
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Регистратор = &Регистратор
    | И (НЕ РасчетСреднегозаработка.Сторно)) КАК Начисления
    |
    |СГРУППИРОВАТЬ ПО
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ";

    Запрос.Текст = СреднийЗаработокТекст;
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    Если Выборка.ВидМесяца = "Текущий" Тогда
    ОплатаПоСрЗарТекущийМесяц = Выборка.СреднийЗаработок;
    Иначе
    ОплатаПоСрЗарБудущийМесяц = Выборка.СреднийЗаработок;

    КонецЕсли;
    КонецЦикла;

    А вот что выдаёт при попытке открытия формы: {ОбщийМодуль.НачислениеОтпускаРаботникамОрганизацийДополнительный(1493)}: Ошибка при вызове метода контекста (Выполнить): {(13, 69)}: Ожидается выражение ")"
    РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета <<?>>В (&СписокВидовРасчета) КАК Начисления
    Выборка = Запрос.Выполнить().Выбрать();

    Не пойму где косяк?
  11. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Тут почему пробела нет?

    Ну и сравните у вас вначале перд выбрать стоит скобка а перед КАК НАЧИСЛЕНИЯ всего одна закрывающая параметр, а во второй части уже 2 ))
  12. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    Всё поправил вроде:

    "ВЫБРАТЬ
    | СУММА(Начисления.ОсновныеНачисленияРаботниковОрганизаций) КАК СреднийЗаработок,
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ КАК ВидМесяца
    |ИЗ
    | (ВЫБРАТЬ
    | Начисления.ПериодДействияНачало КАК ПериодДействияНачало,
    | Начисления.Результат КАК СреднийЗаработок
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета В (&СписокВидовРасчета)) КАК Начисления
    | ГДЕ
    | Начисления.Регистратор = &Регистратор
    | И (НЕ Начисления.Сторно)
    |
    | ОБЪЕДИНИТЬ ВСЕ
    |
    | ВЫБРАТЬ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.ПериодРегистрации,
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Результат
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета В (&СписокВидовРасчета) КАК РасчетСреднегоЗаработка
    | ГДЕ
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Регистратор = &Регистратор
    | И (НЕ РасчетСреднегозаработка.Сторно)) КАК Начисления
    |
    |СГРУППИРОВАТЬ ПО
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ";
    Но всё равно пишет про скобку:
    {ОбщийМодуль.НачислениеОтпускаРаботникамОрганизацийДополнительный(1493)}: Ошибка при вызове метода контекста (Выполнить): {(13, 69)}: Ожидается выражение ")"
    РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета <<?>>В (&СписокВидовРасчета)) КАК Начисления
    Выборка = Запрос.Выполнить().Выбрать();
  13. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Вы немного не то пишите а я под конец рабочего дня вообще туплю зачем услови в операто ИЗ ставить?

    ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета В (&СписокВидовРасчета)) КАК Начисления
    | ГДЕ
    | Начисления.Регистратор = &Регистратор

    Меняйте на

    ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций) КАК Начисления
    | ГДЕ
    | Начисления.Регистратор = &Регистратор,
    | Начисления.ВидРасчета В (&СписокВидовРасчета)
  14. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    Я просто только ещё изучаю так сказать...поэтому многое сложно.

    Поменял как Вы сказали, получилось так:
    "ВЫБРАТЬ
    | СУММА(Начисления.ОсновныеНачисленияРаботниковОрганизаций) КАК СреднийЗаработок,
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ КАК ВидМесяца
    |ИЗ
    | (ВЫБРАТЬ
    | Начисления.ПериодДействияНачало КАК ПериодДействияНачало,
    | Начисления.Результат КАК СреднийЗаработок
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций) КАК Начисления
    | ГДЕ
    | Начисления.Регистратор = &Регистратор,
    | Начисления.ВидРасчета В (&СписокВидовРасчета)
    | И (НЕ Начисления.Сторно)
    |
    | ОБЪЕДИНИТЬ ВСЕ
    |
    | ВЫБРАТЬ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.ПериодРегистрации,
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Результат
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета В (&СписокВидовРасчета) КАК РасчетСреднегоЗаработка
    | ГДЕ
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Регистратор = &Регистратор
    | И (НЕ РасчетСреднегозаработка.Сторно)) КАК Начисления
    |
    |СГРУППИРОВАТЬ ПО
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ";
    Теперь ругается почему-то на запятую: {ОбщийМодуль.НачислениеОтпускаРаботникамОрганизацийДополнительный(1494)}: Ошибка при вызове метода контекста (Выполнить): {(15, 42)}: Синтаксическая ошибка ","
    Начисления.Регистратор = &Регистратор<<?>>,
    Выборка = Запрос.Выполнить().Выбрать();
  15. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Вместо запятой поставьте И
  16. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    вот что вышло:
    СреднийЗаработокТекст =
    "ВЫБРАТЬ
    | СУММА(Начисления.ОсновныеНачисленияРаботниковОрганизаций) КАК СреднийЗаработок,
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ КАК ВидМесяца
    |ИЗ
    | (ВЫБРАТЬ
    | Начисления.ПериодДействияНачало КАК ПериодДействияНачало,
    | Начисления.Результат КАК СреднийЗаработок
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций) КАК Начисления
    | ГДЕ
    | Начисления.Регистратор = &Регистратор И
    | Начисления.ВидРасчета В (&СписокВидовРасчета)
    | И (НЕ Начисления.Сторно)
    |
    | ОБЪЕДИНИТЬ ВСЕ
    |
    | (ВЫБРАТЬ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.ПериодРегистрации,
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Результат
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК РасчетСреднегоЗаработка
    | ГДЕ
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Регистратор = &Регистратор
    | И (НЕ РасчетСреднегозаработка.Сторно)) КАК Начисления
    |
    |СГРУППИРОВАТЬ ПО
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ";


    Запрос.Текст = СреднийЗаработокТекст;
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    Если Выборка.ВидМесяца = "Текущий" Тогда
    ОплатаПоСрЗарТекущийМесяц = Выборка.СреднийЗаработок;
    Иначе
    ОплатаПоСрЗарБудущийМесяц = Выборка.СреднийЗаработок;

    КонецЕсли;
    КонецЦикла;


    При открытии ругается так: {ОбщийМодуль.НачислениеОтпускаРаботникамОрганизацийДополнительный(1494)}: Ошибка при вызове метода контекста (Выполнить): {(21, 2)}: Ожидается выражение "ВЫБРАТЬ"
    <<?>>(ВЫБРАТЬ
    Выборка = Запрос.Выполнить().Выбрать();
  17. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    Уже всё перепробовал-не пропадает ошибка :(
  18. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    а так?

    "ВЫБРАТЬ
    | СУММА(Начисления.ОсновныеНачисленияРаботниковОрганизаций) КАК СреднийЗаработок,
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ КАК ВидМесяца
    |ИЗ
    | (ВЫБРАТЬ
    | Начисления.ПериодДействияНачало КАК ПериодДействияНачало,
    | Начисления.Результат КАК СреднийЗаработок
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций
    | ГДЕ
    | Начисления.Регистратор = &Регистратор И
    | Начисления.ВидРасчета В (&СписокВидовРасчета)
    | И (НЕ Начисления.Сторно)) КАК Начисления
    |
    | ОБЪЕДИНИТЬ ВСЕ
    |
    | ВЫБРАТЬ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.ПериодРегистрации,
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Результат
    | ИЗ
    | РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК РасчетСреднегоЗаработка
    | ГДЕ
    | ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Регистратор = &Регистратор
    | И (НЕ РасчетСреднегозаработка.Сторно)
    |
    |СГРУППИРОВАТЬ ПО
    | ВЫБОР
    | КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    | ТОГДА ""Текущий""
    | ИНАЧЕ ""Будущий""
    | КОНЕЦ";

    Группировка точно не правильно сделана. Она работать будет тока для второго запроса. Если нужно для всего запроса, то обединения запросов нужно в подзапрос объединить.
  19. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    а так?

    Код:
    ВЫБРАТЬ
    СУММА(ВложенныйЗапрос.СреднийЗаработок) КАК СреднийЗаработок,
    ВложенныйЗапрос.ВидМесяца
    ИЗ
    (ВЫБРАТЬ
    Начисления.СреднийЗаработок КАК СреднийЗаработок,
    ВЫБОР
    КОГДА НАЧАЛОПЕРИОДА(Начисления.ПериодДействияНачало, МЕСЯЦ) = &ПериодРегистрации
    ТОГДА "Текущий"
    ИНАЧЕ "Будущий"
    КОНЕЦ КАК ВидМесяца
    ИЗ
    (ВЫБРАТЬ
    начисления.ПериодДействияНачало КАК ПериодДействияНачало,
    начисления.Результат КАК СреднийЗаработок
    ИЗ
    РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК начисления
    ГДЕ
    начисления.Регистратор = &Регистратор
    И начисления.ВидРасчета В(&СписокВидовРасчета)
    И (НЕ начисления.Сторно)) КАК Начисления
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
    РасчетСреднегоЗаработка.Результат,
    РасчетСреднегоЗаработка.ПериодРегистрации
    ИЗ
    РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК РасчетСреднегоЗаработка
    ГДЕ
    РасчетСреднегоЗаработка.Регистратор = &Регистратор
    И (НЕ РасчетСреднегоЗаработка.Сторно)) КАК ВложенныйЗапрос
    
    СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.ВидМесяца
    
  20. TopicStarter Overlay
    Valentus
    Offline

    Valentus

    Регистрация:
    25 май 2010
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    0
    Если так, то пишет:
    {ОбщийМодуль.НачислениеОтпускаРаботникамОрганизацийДополнительный(1191,13)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
    | ТОГДА "<<?>>Текущий"

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