Сборник задач для подготовки к экзамену «1С:Специалист»
Расчет себестоимости списанного товара должен происходить позднее с помощью регламентной обработки «Расчет себестоимости». Запуск этой обработки должен происходить автоматически с использованием регламентного задания, но может быть произведен и вручную по желанию пользователя. Обработка должна автоматически определять самый первый документ, нуждающийся в расчете себестоимости, и рассчитывать себестоимость для всех остальных документов начиная с него.
не подскажете как это сделать ?
не подскажете как это сделать ?
По теме из базы знаний
- 1С: Специалист-консультант ЗУП 8. Решения из сборника задач для подготовки к экзамену «1С:Специалист-консультант» по внедрению прикладного решения „1С:Зарплата и управление персоналом 8“, редакция сентябрь 2023. Часть 2
- 1С: Специалист-консультант ЗУП 8. Решения из сборника задач для подготовки к экзамену «1С:Специалист-консультант» по внедрению прикладного решения „1С:Зарплата и управление персоналом 8“, редакция сентябрь 2023. Часть 5
- 1С: Специалист-консультант ЗУП 8. Решения из сборника задач для подготовки к экзамену «1С:Специалист-консультант» по внедрению прикладного решения „1С:Зарплата и управление персоналом 8“, редакция сентябрь 2023. Часть 7
- 1С: Специалист-консультант ЗУП 8. Решения из сборника задач для подготовки к экзамену «1С:Специалист-консультант» по внедрению прикладного решения „1С:Зарплата и управление персоналом 8“, редакция сентябрь 2023. Часть 8
- 1С: Специалист-консультант ЗУП 8. Решения из сборника задач для подготовки к экзамену «1С:Специалист-консультант» по внедрению прикладного решения „1С:Зарплата и управление персоналом 8“, редакция сентябрь 2023. Часть 9
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения=Истина;
Движения.ОстаткиНоменклатуры.Записывать=Истина;
Движения.Продажи.Записывать=Истина;
Запрос=Новый запрос("ВЫБРАТЬ
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Дата как период,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад,
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
| СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
| СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
|ИЗ
| Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
|ГДЕ
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка,
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Дата,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад");
Запрос.УстановитьПараметр("Ссылка",Ссылка);
р=Запрос.Выполнить();
Если р=неопределено Тогда
Отказ=Истина;
Иначе
в=р.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока в.Следующий() Цикл
нз=Движения.ОстаткиНоменклатуры.ДобавитьРасход();
ЗаполнитьЗначенияСвойств(нз,в,,);
нз=Движения.Продажи.Добавить();
ЗаполнитьЗначенияСвойств(нз,в,,);
КонецЦикла;
КонецЕсли;
Движения.ОстаткиНоменклатуры.Записать();
//проверим
Запрос.Текст="ВЫБРАТЬ
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад
|ПОМЕСТИТЬ ДокТЧ
|ИЗ
| Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
|ГДЕ
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ОстаткиНоменклатурыОстатки.Склад,
| ОстаткиНоменклатурыОстатки.Номенклатура,
| ОстаткиНоменклатурыОстатки.КоличествоОстаток как Количество
|ИЗ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки(
| &МоментВремени,
| (Номенклатура, Склад) В
| (ВЫБРАТЬ
| д.Номенклатура,
| д.Склад
| ИЗ
| ДокТЧ КАК д)) КАК ОстаткиНоменклатурыОстатки
|ГДЕ
| ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|УНИЧТОЖИТЬ ДокТЧ";
Запрос.УстановитьПараметр("Ссылка",Ссылка);
Запрос.УстановитьПараметр("МоментВремени",Новый Граница(МоментВремени(),ВидГраницы.Включая));
р=Запрос.Выполнить();
Если р=Неопределено Тогда
Отказ=Истина;
Иначе
в=р.Выбрать();
Пока в.Следующий() Цикл
Сообщить("На складе:"+в.Склад+" не хватает номенклатуры: "+в.Номенклатура+" в количестве :"+в.Количество);
КонецЦикла;
КонецЕсли;
Если Последовательности.Себестоимость.ПолучитьГраницу().Сравнить(МоментВремени())=1 Тогда
Последовательности.Себестоимость.УстановитьГраницу(МоментВремени());
КонецЕсли;
КонецПроцедуры
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения=Истина;
Движения.ОстаткиНоменклатуры.Записывать=Истина;
Движения.Продажи.Записывать=Истина;
Запрос=Новый запрос("ВЫБРАТЬ
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Дата как период,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад,
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
| СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
| СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
|ИЗ
| Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
|ГДЕ
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка,
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Дата,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад");
Запрос.УстановитьПараметр("Ссылка",Ссылка);
р=Запрос.Выполнить();
Если р=неопределено Тогда
Отказ=Истина;
Иначе
в=р.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока в.Следующий() Цикл
нз=Движения.ОстаткиНоменклатуры.ДобавитьРасход();
ЗаполнитьЗначенияСвойств(нз,в,,);
нз=Движения.Продажи.Добавить();
ЗаполнитьЗначенияСвойств(нз,в,,);
КонецЦикла;
КонецЕсли;
Движения.ОстаткиНоменклатуры.Записать();
//проверим
Запрос.Текст="ВЫБРАТЬ
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад
|ПОМЕСТИТЬ ДокТЧ
|ИЗ
| Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
|ГДЕ
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад
|;
|
|////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОстаткиНоменклатурыОстатки.Склад,
| ОстаткиНоменклатурыОстатки.Номенклатура,
| ОстаткиНоменклатурыОстатки.КоличествоОстаток как Количество
|ИЗ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки(
| &МоментВремени,
| (Номенклатура, Склад) В
| (ВЫБРАТЬ
| д.Номенклатура,
| д.Склад
| ИЗ
| ДокТЧ КАК д)) КАК ОстаткиНоменклатурыОстатки
|ГДЕ
| ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0
|;
|
|////////////////////////////////////////////////////////////
|УНИЧТОЖИТЬ ДокТЧ";
Запрос.УстановитьПараметр("Ссылка",Ссылка);
Запрос.УстановитьПараметр("МоментВремени",Новый Граница(МоментВремени(),ВидГраницы.Включая));
р=Запрос.Выполнить();
Если р=Неопределено Тогда
Отказ=Истина;
Иначе
в=р.Выбрать();
Пока в.Следующий() Цикл
Сообщить("На складе:"+в.Склад+" не хватает номенклатуры: "+в.Номенклатура+" в количестве :"+в.Количество);
КонецЦикла;
КонецЕсли;
Если Последовательности.Себестоимость.ПолучитьГраницу().Сравнить(МоментВремени())=1 Тогда
Последовательности.Себестоимость.УстановитьГраницу(МоментВремени());
КонецЕсли;
КонецПроцедуры
Процедура УчетСебестоимости() Экспорт
Запрос=Новый запрос("ВЫБРАТЬ
| РасходнаяНакладная.Ссылка
|ИЗ
| Документ.РасходнаяНакладная КАК РасходнаяНакладная
|ГДЕ
| РасходнаяНакладная.МоментВремени >= &МоментВремени");
Запрос.УстановитьПараметр("МоментВремени",Последовательности.Себестоимость.ПолучитьГраницу());
в=Запрос.Выполнить().Выбрать();
МенДок=Документы.РасходнаяНакладная;
Пока в.Следующий() Цикл
МенДок.РасчетСебестоимости(в.Ссылка);
Последовательности.Себестоимость.УстановитьГраницу(В.Ссылка.МоментВремени());
КонецЦикла;
КонецПроцедуры
Запрос=Новый запрос("ВЫБРАТЬ
| РасходнаяНакладная.Ссылка
|ИЗ
| Документ.РасходнаяНакладная КАК РасходнаяНакладная
|ГДЕ
| РасходнаяНакладная.МоментВремени >= &МоментВремени");
Запрос.УстановитьПараметр("МоментВремени",Последовательности.Себестоимость.ПолучитьГраницу());
в=Запрос.Выполнить().Выбрать();
МенДок=Документы.РасходнаяНакладная;
Пока в.Следующий() Цикл
МенДок.РасчетСебестоимости(в.Ссылка);
Последовательности.Себестоимость.УстановитьГраницу(В.Ссылка.МоментВремени());
КонецЦикла;
КонецПроцедуры
Ошибка в схеме компоновки данных
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(5, 33)}: Поле не найдено "ОстаткиТоваровОбороты.СуммаРасход"
ЕСТЬNULL(ОстаткиТоваровОбороты.<<?>>СуммаРасход, 0) КАК Себестоимость,
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(5, 33)}: Поле не найдено "ОстаткиТоваровОбороты.СуммаРасход"
ЕСТЬNULL(ОстаткиТоваровОбороты.<<?>>СуммаРасход, 0) КАК Себестоимость,
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот