Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0
Подскажите мне пожалуйста направление для размышления, мне необходимо чтобы при создание документа Расходная накладная списывался товар со складов по себестоимости, определяет стоимость товара в регистре с измерениями (Сумма и количество). Как это возможно реализовать?
Группа: Основатель
Сообщений: 13982
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Не "измерения", а ресурсы; не "при создании документа", а при проведении.
Советую ознакомиться и выучить хотя бы базовую терминологию, а то ой как тяжело вам будет и помочь никто нормально не поможет. То что вы спрашиваете - это основы основ, которые описаны во многих книгах. Посмотрите книгу Радченка, много интересного для себя откроете.
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Vofka @ 08.02.13, 14:25)
Не "измерения", а ресурсы; не "при создании документа", а при проведении.
Советую ознакомиться и выучить хотя бы базовую терминологию, а то ой как тяжело вам будет и помочь никто нормально не поможет. То что вы спрашиваете - это основы основ, которые описаны во многих книгах. Посмотрите книгу Радченка, много интересного для себя откроете.
Я ее уже прочитал, перелапатил кучу форумов и статей, в книге есть похожее задание я в нем разобрался, но мое сделать не получается.
ВЫ тоже не сразу же научились на велосипеде ездить.
Группа: Основатель
Сообщений: 13982
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Цитата(MihaSerb @ 08.02.13, 16:57)
Я ее уже прочитал, перелапатил кучу форумов и статей, в книге есть похожее задание я в нем разобрался, но мое сделать не получается.
Ну так что, по быстренькому стелепатировать что вам надо и чем ваше задание отличается от того, что в книге и написать готовое решение? Короче, из вашего вопроса непонятно нифига. Я могу сейчас написать готовый код, но вопросов станет ещё больше, а ещё в результате окажется, что код не правильный, т.к. у вас там какие-то приколы свои.
Группа: Основатель
Сообщений: 13982
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Я вам рекомендую описать проблему человеческим языком. Если затрудняетесь - вставьте сюда участок из Радченко и скажите чем он вам не подходит. Вообще у нас в разделе для программистов, в большинстве случаев общаются с использованием кода. Вы хоть одну строчку написали? Нет? В чем конкретно проблема?
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Хм... 1. Если у Вас в регистре по товару есть ОстатокКво и ОстатокСумма, а Вам нужно списать КвоСписания(которое < ОстатокКво), то ничего, кроме КвоСписания и
списывать нельзя. 2. А себестоимостью это будет в том случае, если в этом же регистре учтены все затраты, связанные с покупкой, транспортировкой, предпродажной подготовкой, хранением, ..., ..., ... этого товара.
Не замечаете, что связь между 1 и 2 отсутствует как таковая?
ЗЫ. Извините, но столь вольное обращение с терминами не вяжется с "кучей прочитанного"
это лабораторная какая-то? в инете они должны быть уже. ищите по ключевым "оперативный учет". есть такие методички по подготовке к сертифицированию программистов 1С, ищите по тому же оперативному учету. и введение в конфигурирование. там объяснения до картинок
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Vofka @ 08.02.13, 18:20)
Я вам рекомендую описать проблему человеческим языком. Если затрудняетесь - вставьте сюда участок из Радченко и скажите чем он вам не подходит. Вообще у нас в разделе для программистов, в большинстве случаев общаются с использованием кода. Вы хоть одну строчку написали? Нет? В чем конкретно проблема?
МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ; Запрос.Текст = "ВЫБРАТЬ | РасходнаяНакладнаяТовары.Номенклатура, | МАКСИМУМ(РасходнаяНакладнаяТовары.Цена) КАК Цена, | СУММА(РасходнаяНакладнаяТовары.Сумма) КАК Сумма, | СУММА(РасходнаяНакладнаяТовары.Количество) КАК Количество, |ПОМЕСТИТЬ ДокТЧ |ИЗ | Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары |ГДЕ | РасходнаяНакладнаяТовары.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | РасходнаяНакладнаяТовары.Номенклатура,
Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатЗапроса = Запрос.Выполнить(); Запрос2 = Новый Запрос; Запрос2.МенеджерВременныхТаблиц = МенеджерВТ; Запрос2.Текст = "ВЫБРАТЬ | ТоварыНаСкладеОстатки.КоличествоОстаток, | ТоварыНаСкладеОстатки.СуммаОстаток, | ДокТЧ.Номенклатура, | ДокТЧ.Количество, | ДокТЧ.Сумма, | ДокТЧ.Цена, |ИЗ | ДокТЧ КАК ДокТЧ | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладе.Остатки( | , | Номенклатура В | (ВЫБРАТЬ | ДокТЧ.Номенклатура | ИЗ | ДокТЧ)) КАК ТоварыНаСкладеОстатки | ПО ДокТЧ.Номенклатура = ТоварыНаСкладеОстатки.Номенклатура";
Результат = Запрос2.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда ВыборкаДетальныеЗаписи.Сумма = 0; Иначе ВыборкаДетальныеЗаписи.Цена = ВыборкаДетальныеЗаписи.СуммаОстаток / ВыборкаДетальныеЗаписи.КоличествоОстаток; КонецЕсли;
у вас цена в запросе - это цена продажи в расходной. вы ей присваиваете себестоимость(путаете) . в запросе нужно сразу добавить поле Себестоимость и формулу(в запросе) СуммаОстаток поделить на Количество остаток.
когда обходите результат выполненного запроса. используете готовое значение Себестоимости. ваш расход равен Себестоимость умножить на Количество(поле из дока).
Но это не все. Есть ньюанс с копейками. Когда количество списываемого равно количеству на остатке, нужно списать просто весь остаток.
если все же без поля себестоимость в запросе
Если ВыборкаДетальныеЗаписи.Количество<ВыборкаДетальныеЗаписи.КоличествоОСтаток Тогда Движение.Сумма = ВыборкаДетальныеЗаписи.СуммаОСтаток/ВыборкаДетальныеЗаписи.КоличествоОстаток*ВыборкаДетальныеЗаписи.Количество Иначе Движение.Сумма=ВыборкаДетальныеЗаписи.СуммаОстаток КонецЕсли;
Сообщение отредактировал Домовик - 08.02.13, 18:12
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Еще и я попробую Цена для РТиУ(Реализации...) устанавливается либо произвольно либо посредством пересчета из другой цены. Можно даже поставить "от фонаря" в самом документе. Сумма в документе рассчитыватеся из этой цены. Эта сумма - для учета взаиморасчетов с Контрагентом. Ни цена, ни сумма документа никак не влияют на себестоимость. Со склада списывается именно себестоимость - остаток по регистру, пересчитанный на проданное количество.
это вопрос уже не по формуле себестоимости, а по самому запросу.
код дан на тот случай, если вы не знаете как рассчитать себестоимость в самом запросе. но вы разобрались с этим. но накрутили в другом.
первый запрос по имени запрос оставляете в том виде, котором он ранее был. запрос тут для того, чтобы данные из рег остатков выбирались только по номенклатуре вашей расходной.
во втором запросе можно ввести то самое поле себестоимость с формулой. Но тогда Сумма, когда движения пишете, рассчитывайте с учетом этого поля.
если в расходной вы вводите товара больше, чем есть на остатке, то что задача требует? уточняйте, бо тут код по расчету Сумма упрощен.
ничего не получается, это что? вы заходили в отладчик , в цикл вообще заходите? вообще, ставьте на этапах кода "флажки", на какие знаний хватает. или в отладчике точки останова, или использовать сообщить(), или ..
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0
Контроль остатков у меня чуть дальше в процедуре описан, Я сейчас должен как я понимаю себестоимость из временной таблици привязать к табличной части документа цена, но как не могу сообразить. Моя попытка.
как точно задание звучит? мало понятно, что вам нужно.
потому-что ранее писали движения по списанию себестоимости, а расчет цены товара от себестоимости в другом месте нужно делать. скорее всего при вводе товара в строке.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!