Добрый день ребят!Подскажите пожалуйста!Вот есть такой вот документ!смотрите на скрин!вот надо что бы остаток в производстве заполнялся автоматически!
т.е. бралось количество из регистра"ОстаткиМатериалоВПроизводстве" на дату создания этого документа,опираясь на номенклатуру и подразделение! + Количество(Передано) - Количество(получено)
т.е. бралось количество из регистра"ОстаткиМатериалоВПроизводстве" на дату создания этого документа,опираясь на номенклатуру и подразделение! + Количество(Передано) - Количество(получено)
Прикрепленные файлы:
По теме из базы знаний
- Программисту на заметку: автозаполнение реквизитов документов и справочников
- Транспортная накладная (в редакции постановления Правительства РФ №2200 от 21.12.2020г.) из документа Отгрузка товаров, продукции (Бухгалтерский учет 4.5)
- Транспортная накладная (в редакции Постановления Правительства РФ №2200 от 21.12.2020г.) из документа Отгрузка товаров, продукции (Торговля + Склад редакция 9.2)
- Автозаполнение шаблонов файлов MXL в "1С:Документообороте"
- Массовая рассылка печатных форм любых документов по электронной почте, в Telegram, в каталог или том
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Я так понимаю что надо просто написать запрос к регистру с выгрузкой в табличную часть. Условия в полях пропишите сами. И все. Все это повесить в обработчик события изменения документа на форме. .. (ну если задача стоит еще привязывать документ). Свяжите документ с регистром если он регистратор и вам надо смотреть инфу именно из него. Если нет то забирайте дату как параметр и отдавайте его в параметры виртуальной таблицы. Варианты разные, зависит от задачи конкретной.
(7) можно что то подобное только ваши документы и регистры выбирайте я просто для примера написал. Параметр документ это ваш документ на форме.
Дальше выгружайте в ТЗ и делайте что нужно. Общий принцип такой только поменяйте на ваши условия (я не знаю что есть передано и получено, но думаю что это информация из регистра или документа)
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.Ссылка.Подразделение,
СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество
ПОМЕСТИТЬ ВТ
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
РеализацияТоваровУслугТовары.Ссылка = &Документ
СГРУППИРОВАТЬ ПО
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.Ссылка.Подразделение
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоРегистра,
ВТ.Номенклатура
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(
&Дата,
(Номенклатура, Склад) В
(ВЫБРАТЬ
ВТ.Номенклатура,
ВТ.Подразделение
ИЗ
ВТ КАК ВТ)) КАК ТоварыНаСкладахОстатки
ПО ВТ.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
И ВТ.Подразделение = ТоварыНаСкладахОстатки.Склад
ПоказатьДальше выгружайте в ТЗ и делайте что нужно. Общий принцип такой только поменяйте на ваши условия (я не знаю что есть передано и получено, но думаю что это информация из регистра или документа)
(10)
я может ошибаюсь т.к. только учусь!
я понимаю так,есть модуль документа!
в этом модуле надо описать процедуру,
берущую остатки из регистра накоплений плюсующую к ним то количество что отдает "склад отправитель" и минусующую количество что получает"склад получатель"!
т.е. я как предствлял принцып работы?
вводим номеклатуру скажем "стул"!
в графе "остатках производства",сразу вышел остаток к примеру "50"!
//////// (50+0-0)=50!
в графу передано мы вводим "10"! "ост.произв." поменялся на "60"!
////////(50+10-0)=60!
в графу получено вводим к примеру "40"!"ост.произв." поменялся на "20"!
//////////(50+10-40)=20!
блин не знаю возможно ли это в документе!я надеюсь прояснилось что то!
я может ошибаюсь т.к. только учусь!
я понимаю так,есть модуль документа!
в этом модуле надо описать процедуру,
берущую остатки из регистра накоплений плюсующую к ним то количество что отдает "склад отправитель" и минусующую количество что получает"склад получатель"!
т.е. я как предствлял принцып работы?
вводим номеклатуру скажем "стул"!
в графе "остатках производства",сразу вышел остаток к примеру "50"!
//////// (50+0-0)=50!
в графу передано мы вводим "10"! "ост.произв." поменялся на "60"!
////////(50+10-0)=60!
в графу получено вводим к примеру "40"!"ост.произв." поменялся на "20"!
//////////(50+10-40)=20!
блин не знаю возможно ли это в документе!я надеюсь прояснилось что то!
(15) Вообще как то странно выглядит, то как вы это хотите реализовать. Подсчеты на лету без записи результата в регистр потом, в чем смысл регистра тогда или это информация с разных регистров? Должен быть документ его ТЧ в которой будет перечень номенклатуры которую вам нужно посчитать и сколько пришло. Потом при изменении строки вычитайте и суммируйте что вам нужно. Потом пишите результат вычисления в регистр с контролем отрицательного остатка при проведении документа, если не делать запись то зачем вам именно документ? По сути у вас одна операция с обращением к базе данных это выборка из регистра. Я бы сделал так сперва заполнил все не числовые поля ТЧ потом записал документ как нибудь программно при нажатии на кнопку загрузить остатки (ну или любая реализация через интерактив). А потом просто в каком - нибудь общем модуле прописать функцию суммирования и вычета и вызывал ее при изменении колонки передано и т д. А все бы делал одним запросом передавая ТЧ в запрос.
(18)этот документ просто скажет показательные данные!как сводка!из того что есть не получалось собрать нужный отчет!вот решил создать документ!и из него уже собрать макет для отчета!
а движения все как обычно документами ОПзС и ТрН!просто этот документ вообще просто можно сказать не влияющий на основные регистры!
а движения все как обычно документами ОПзС и ТрН!просто этот документ вообще просто можно сказать не влияющий на основные регистры!
(20)
создать документ!и из него уже собрать макет для отчета!
а движения все как обычно документами ОПзС и ТрН!просто этот документ вообще просто можно сказать не влияющий на основные регистры!
и я все равно не понимаю зачем вам документ? Какую хозяйственную операцию он отражает. Вам надо хранить в базе данных эти сводки или что? Неправильно документ к отчету приравнивать у них разные задачи. Ваша задача больше похожа на обработку где нужно что то посчитать и вывести результат. Зачем вам хранить в базе данных все ваши подсчеты если вы говорите что это отчет...СКД не знаете? Зачем макет собирать?
а движения все как обычно документами ОПзС и ТрН!просто этот документ вообще просто можно сказать не влияющий на основные регистры!
(22) ну вообще всё
Написать, примерно,так.
Но то, что вы хотите это не решит, Вам нужно менять подход к решению вашей задачи.
Написать, примерно,так.
Но то, что вы хотите это не решит, Вам нужно менять подход к решению вашей задачи.
ВЫБРАТЬ
МатериалыВПроизводствеОстатки.Подразделение КАК Подразделение ,
МатериалыВПроизводствеОстатки.Заказ КАК Заказ ,
МатериалыВПроизводствеОстатки.Затрата КАК Затрата
ИЗ
РегистрНакопления.МатериалыВПроизводстве.Остатки(&Дата, Подразделение = &Подразделение) КАК МатериалыВПроизводствеОстатки
Я так понял вам нужна процедура, которая срабатывает при изменении значений в строке табличной части. Значит событие ПриИзменении. В ней собственно запрос на остаток номенклатуры с параметрами - номенклатура, момент времени, склад; + то, что приходит + то, что уходит.
Всё достаточно просто.
Всё достаточно просто.
как подсказал mazechild (17)
я бы добавил через "Подписки на события", как то выполнял аналогичную задачу,
само событие вешаешь на создание документа, т.е. в качестве источника указываешь свой документ, обработчиком делаешь общий модуль в котором и описываешь что ты хочешь сделать при вводе того или иного значения,
а так тут самый простой способ тебе уже подсказал mazechild
это к стате стандартная фича некоторых учетных систем "Подсказка остатков запрашиваемого товара на лету", в твоем случае комплектующих , такая задача даже есть в экзаменационных вопросах на Спеца по Платформе,
вывод временного результата подсказки можешь реализовать во всплывающее окошко, либо просто при превышении остатков всплывающее предупреждение , как то так, если я правильно понял Ваш вопрос
я бы добавил через "Подписки на события", как то выполнял аналогичную задачу,
само событие вешаешь на создание документа, т.е. в качестве источника указываешь свой документ, обработчиком делаешь общий модуль в котором и описываешь что ты хочешь сделать при вводе того или иного значения,
а так тут самый простой способ тебе уже подсказал mazechild
это к стате стандартная фича некоторых учетных систем "Подсказка остатков запрашиваемого товара на лету", в твоем случае комплектующих , такая задача даже есть в экзаменационных вопросах на Спеца по Платформе,
вывод временного результата подсказки можешь реализовать во всплывающее окошко, либо просто при превышении остатков всплывающее предупреждение , как то так, если я правильно понял Ваш вопрос
первая строка заполняется по срезу остатка а все последующие уже на основании предыдущей строки с учетом технологической операции и с учетом другой продукции, а то на два стула в первом шаге посчитается остаток по 4 ножки а по факту на один стул уже не хватает.
Вроде же было решено что производственные циклы должен заполняться на основании заказа на производство.
А так Повторю еще раз, как и не однократно в переписке. сядьте просто за столом без компа возьмите листок и карандаш нарисуете что вы хотите распишите по пунктам; сходите в производственникам, бухам, если всем не до вас и все равно что вы делаете.
напишите руководителю заявление или в свободной форме письмо с просьбой помочь с реализацией, потому что вопрос у вас серьезный и если сейчас сделать на коленке потом будут чертыхаться всю жизнь.
Вроде же было решено что производственные циклы должен заполняться на основании заказа на производство.
А так Повторю еще раз, как и не однократно в переписке. сядьте просто за столом без компа возьмите листок и карандаш нарисуете что вы хотите распишите по пунктам; сходите в производственникам, бухам, если всем не до вас и все равно что вы делаете.
напишите руководителю заявление или в свободной форме письмо с просьбой помочь с реализацией, потому что вопрос у вас серьезный и если сейчас сделать на коленке потом будут чертыхаться всю жизнь.
Здравствуйте.
Шагаете по табличной части документа с.о.:
Это приблизительный текст. Я не поняла что у вас номенклатура в табличной части документа "продукт" или "полуфабрикат". И В какую колонку лепить остаток.
Шагаете по табличной части документа с.о.:
Для каждого Строка из <ИмяТабличнойЧасти> Цикл
запрос=новый запрос;
запрос.текстЗапроса= "ВЫБРАТЬ
МатериалыВПроизводствеОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.МатериалыВПроизводстве.Остатки(
&НаДату,
Затрата = &Номенклатура
И Подразделение = &Подразделение) КАК МатериалыВПроизводствеОстатки";
запрос.УстановитьПараметр("Номенклатура", Строка.Номенклатура );
запрос.УстановитьПараметр("Подразделение", Строка.Подразделение );
рз=запрос.выполнить().выбрать();
Строка.Количество=рз.КоличествоОстаток;
КонецЦикла;
ПоказатьЭто приблизительный текст. Я не поняла что у вас номенклатура в табличной части документа "продукт" или "полуфабрикат". И В какую колонку лепить остаток.
(30) не знаю вот так вот пишет
{Документ.ПроизводственныеЦиклы.Форма.ФормаДокумента.Форма(37,30)}: Пропущен символ '"' (двойная кавычка)
запрос.текстЗапроса= "ВЫБРАТЬ<<?>> (Проверка: Толстый клиент (обычное приложение))
{Документ.ПроизводственныеЦиклы.Форма.ФормаДокумента.Форма(37,30)}: Ожидается символ ';'
запрос.текстЗапроса= "ВЫБРАТЬ<<?>> (Проверка: Толстый клиент (обычное приложение))
{Документ.ПроизводственныеЦиклы.Форма.ФормаДокумента.Форма(39,1)}: Неопознанный оператор
<<?>>ИЗ (Проверка: Толстый клиент (обычное приложение))
{Документ.ПроизводственныеЦиклы.Форма.ФормаДокумента.Форма(37,30)}: Пропущен символ '"' (двойная кавычка)
запрос.текстЗапроса= "ВЫБРАТЬ<<?>> (Проверка: Толстый клиент (обычное приложение))
{Документ.ПроизводственныеЦиклы.Форма.ФормаДокумента.Форма(37,30)}: Ожидается символ ';'
запрос.текстЗапроса= "ВЫБРАТЬ<<?>> (Проверка: Толстый клиент (обычное приложение))
{Документ.ПроизводственныеЦиклы.Форма.ФормаДокумента.Форма(39,1)}: Неопознанный оператор
<<?>>ИЗ (Проверка: Толстый клиент (обычное приложение))
(31)Трудно сказать, может у вас где-то лишние кавычки? Вообще, когда пишу конструктором запросов, с синтаксисом не бывает проблем. Весь текст запроса находится в кавычках, после чего идет точка с запятой. Внутри запроса могут быть кавычки, например, если вставляется переменная:
"<тескт запроса>"+НазваниеПеременной+"<продолжение Текста запроса>"
но тогда конструктором запрос уже не открыть;
или двойные кавычки, если вставлен символ (символы), например:
""г. Москва"" КАК Город,
тогда конструктором открывается.
"<тескт запроса>"+НазваниеПеременной+"<продолжение Текста запроса>"
но тогда конструктором запрос уже не открыть;
или двойные кавычки, если вставлен символ (символы), например:
""г. Москва"" КАК Город,
тогда конструктором открывается.
(31) Забыли символ перенос строки | ? Может быть так:
"ВЫБРАТЬ
|МатериалыВПроизводствеОстатки.КоличествоОстаток
|ИЗ
|РегистрНакопления.МатериалыВПроизводстве.Остатки(
| &НаДату,
| Затрата = &Номенклатура
| И Подразделение = &Подразделение) КАК МатериалыВПроизводствеОстатки";
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот