M_Volkov
![](http://forum.ru-board.com/board/avatars/LittleJohn.gif)
Gold Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору zzzz5555 Цитата: Поле.Имя - это будет именем текущей колонки в событиях по элементу ТаблицаДокументов, в которых в качестве параметра есть поле, т.е. работает только в таких событиях. | Спс, это правильный ответ Код: &НаКлиенте Процедура ТаблицаДокументовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) ПоказатьЗначение(Неопределено, ?(Поле.Имя = "ТаблицаДокументОснование", Элемент.ТекущиеДанные.ДокументОснование, Элемент.ТекущиеДанные.Документ)); КонецПроцедуры | Работает как надо! Добавлено: Еще такая проблема обрисовывалась: клиент хочет в УТ11 учитывать курсовые разницы в себестоимости товара купленного по импорту в упр. учете. Для этого делал ему, оплату поставщику по упр. учету по себестоимости валюты (не по офиц. курсу ЦБ, как в регламентном учете. Для этого писал ему ранее такую функцию Код: // По управленческому учету списание ДС по себестоимости валюты // (а поступление ДС по курсу конвертации банка) Функция СебестоимостьВалюты(Документ) Экспорт КурсКонвертации = 0; Если Документ.БанковскийСчет.ВалютаДенежныхСредств = Константы.ВалютаУправленческогоУчета.Получить() И Не Константы.УчитыватьКурсовыеРазницыСебестоимостьТоваровПоУправленческомуУчету.Получить() Тогда Возврат КурсКонвертации; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВЫБОР | КОГДА ДенежныеСредстваБезналичные.СуммаОстаток = 0 | ТОГДА 0 | ИНАЧЕ ДенежныеСредстваБезналичные.СуммаУпрОстаток / ДенежныеСредстваБезналичные.СуммаОстаток | КОНЕЦ КАК КурсКонвертации |ИЗ | РегистрНакопления.ДенежныеСредстваБезналичные.Остатки(&Дата, БанковскийСчет = &БанковскийСчет) КАК ДенежныеСредстваБезналичные |"; Граница = Новый Граница(Документ.МоментВремени(), ВидГраницы.Исключая); // нужен предшествующий момент самому документу Запрос.УстановитьПараметр("Дата", Граница); Запрос.УстановитьПараметр("БанковскийСчет", Документ.БанковскийСчет); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда КурсКонвертации = Окр(Выборка.КурсКонвертации, 4, 1); // Разрядности явно не хватает, надо бы увеличить до 6-8 знаков после запятой КонецЕсли; Возврат КурсКонвертации; КонецФункции | Теперь расчет себестоимости валюты по среднему его не устраивает, говорит, что хочет по ФИФО. Как это лучше сделать? Функция вызывается только из документа Списание безналичных денежных средств, сумма в валюте задана. Надо высчитать упр. сумму, списывая валютные остатки с банковского счета сначала по более раннему курсу, затем следующую, пока не наберется вся валютная сумма оплаты. Добавлено: Тут надо учесть, что крупные валютные оплаты готовят заранее, закупая валюту в несколько этапов, ловя моменты выгодного курса. Наверное надо выбирать остатки валюты из РегистрНакопления.ДенежныеСредстваБезналичные по мере ее закупки, и по мере пока не наберется сумма оплаты в валюте, суммировать упр. суммы... Пытаюсь найти аналогичный пример по расчету себестоимости товара, но в УТ11.2 сейчас все по другому... никак в 8.2 | Всего записей: 5806 | Зарегистр. 23-06-2008 | Отправлено: 13:51 26-05-2016 | Исправлено: M_Volkov, 16:00 26-05-2016 |
|