Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Автоматичне заповнення ціни та підрахунок суми товару в видатковій накладній
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
igorslo
Завдання:

У видатковій накладній потрібно, щоб автоматично заповнювалась ціна із номенклатури та множилась на кількість і давала суму для кожного товару.

&НаКлиенте
Процедура КількістьПриИзменении(Элемент)
    Эл = Элементы.Товари.ТекущиеДанные;
      Эл.Сума = Эл.Ціна * Эл.Кількість;
КонецПроцедуры

&НаКлиенте
Процедура ЦінаПриИзменении(Элемент)
    Эл = Элементы.Товари.ТекущиеДанные;
      Эл.Сума = Эл.Ціна * Эл.Кількість;
КонецПроцедуры


Якщо використовувати цей код, тоді треба вказувати і ціну, і кількість вручну зате сума рахується.
Пробував і підставляти ціну використовуючи "ПутьКДанным", тоді при виборі товару мені автоматично підгружалася ціна, але тепер не множилась ціна на кількість, тому й суму потрібно вводити вручну.


1С:Предприятие 8.3, учебная версия (8.3.8.1933)
Gazulo
igorslo @ Сегодня, 15:19 необходимо зарегистрироваться для просмотра ссылки ,
Ціна це реквізит номенклатури?, Тоді при виборі номенклатури треба встановлювати ціну викликати процедуру розрахунку суми.
igorslo
Gazulo @ Сегодня, 14:26 необходимо зарегистрироваться для просмотра ссылки ,
Ціна це реквізит Справочника номенклатури, а тут ціна як окремий об'єкт.

необходимо зарегистрироваться для просмотра ссылки

Gazulo @ Сегодня, 14:26 необходимо зарегистрироваться для просмотра ссылки ,
Може надати ще якісь деталі для кращого розуміння?
Gazulo
igorslo @ Сегодня, 15:47 необходимо зарегистрироваться для просмотра ссылки ,
Тоді при виборі номенклатури треба встановлювати ціну в документі і викликати процедуру розрахунку суми
igorslo
Gazulo @ Сегодня, 14:58 необходимо зарегистрироваться для просмотра ссылки ,
Як це реалізувати? Бо щось не дуже розумію.
Gazulo
igorslo @ Сегодня, 16:06 необходимо зарегистрироваться для просмотра ссылки ,

Приблизно так
&НаКлиенте
Процедура ТоварПриИзменении(Элемент)
  
   СтрокаТЧ = Элементы.Товари.ТекущиеДанные;
   ТоварПриИзмененииНаСервере(СтрокаТЧ.ПолучитьИдентификатор());

КонецПроцедуры

&НаСервере
Процедура ТоварПриИзмененииНаСервере(ИдентификаторСтрокиТЧ)
    
    СтрокаТЧ = Объект.Товари.НайтиПоИдентификатору(ИдентификаторСтрокиТЧ);    


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

КонецПроцедуры
igorslo
Gazulo @ Сегодня, 15:27 необходимо зарегистрироваться для просмотра ссылки ,
Код вставив, там треба ще щось дописати? (Наприклад, там де "Ссылка")

Не працює; ціну не підтягує і суму тим більше не рахує, зразу пропускає рядок.
Gazulo
igorslo @ Сегодня, 16:41 необходимо зарегистрироваться для просмотра ссылки ,
я ж конфігурації вашої не маю, то треба вже самому дивитись я написав приблизний код як має бути.
Хіба підключусь гляну.
igorslo
Gazulo @ Сегодня, 16:52 необходимо зарегистрироваться для просмотра ссылки ,
Можу надіслати, тільки куди?
Або куди підключити?
Gazulo
igorslo @ 13.11.20, 20:25 необходимо зарегистрироваться для просмотра ссылки ,
nazar_budivskiy@ukr.net
igorslo
Gazulo @ Сегодня, 9:28 необходимо зарегистрироваться для просмотра ссылки ,
Вельми вдячний, усе працює
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.