1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2024-12-12 09:04:01 +02:00

Merge branch 'feature/LF' into develop

This commit is contained in:
Корякин Алексей 2023-07-27 21:55:38 +03:00
commit 2704496a74
18 changed files with 283 additions and 283 deletions

View File

@ -1,25 +1,25 @@
&НаСервере
Процедура Заполнить()
Запрос = Новый Запрос("ВЫБРАТЬ
| ВзаиморасчетыОстатки.Контрагент,
| ВзаиморасчетыОстатки.Валюта,
| ВзаиморасчетыОстатки.СуммаОстаток КАК СуммаОстаток
|ИЗ
| РегистрНакопления.Взаиморасчеты.Остатки КАК ВзаиморасчетыОстатки
&НаСервере
Процедура Заполнить()
Запрос = Новый Запрос("ВЫБРАТЬ
| ВзаиморасчетыОстатки.Контрагент,
| ВзаиморасчетыОстатки.Валюта,
| ВзаиморасчетыОстатки.СуммаОстаток КАК СуммаОстаток
|ИЗ
| РегистрНакопления.Взаиморасчеты.Остатки КАК ВзаиморасчетыОстатки
|АВТОУПОРЯДОЧИВАНИЕ");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = ТаблицаОстатков.Добавить();
НоваяСтрока.Контрагент = Выборка.Контрагент;
НоваяСтрока.Валюта = Выборка.Валюта;
Если Выборка.СуммаОстаток > 0 Тогда
НоваяСтрока.НашДолг = Выборка.СуммаОстаток;
Иначе
НоваяСтрока.ДолгНам = Выборка.СуммаОстаток * -1;
КонецЕсли;
КонецЦикла
КонецПроцедуры
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = ТаблицаОстатков.Добавить();
НоваяСтрока.Контрагент = Выборка.Контрагент;
НоваяСтрока.Валюта = Выборка.Валюта;
Если Выборка.СуммаОстаток > 0 Тогда
НоваяСтрока.НашДолг = Выборка.СуммаОстаток;
Иначе
НоваяСтрока.ДолгНам = Выборка.СуммаОстаток * -1;
КонецЕсли;
КонецЦикла
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
@ -29,7 +29,7 @@
&НаКлиенте
Процедура ТаблицаОстатковВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
ПоказатьЗначение( ,ТаблицаОстатков.НайтиПоИдентификатору(ВыбраннаяСтрока).Контрагент);
СтандартнаяОбработка = Ложь;
СтандартнаяОбработка = Ложь;
КонецПроцедуры
&НаКлиенте

View File

@ -102,9 +102,9 @@
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
&НаКлиенте
Процедура ПриОткрытии(Отказ)
@ -135,7 +135,7 @@
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура НовыйРасчетныйСчетВыполнить()
@ -146,11 +146,11 @@
// Подготовка параметров и открытие формы нового расчетного счета контрагента.
ЗначенияЗаполнения = Новый Структура();
ЗначенияЗаполнения.Вставить("НаименованиеЗаполнить", "Р/С " + Объект.Наименование);
ЗначенияЗаполнения.Вставить("Владелец", Объект.Ссылка);
СтруктураПараметров = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения);
ЗначенияЗаполнения.Вставить("НаименованиеЗаполнить", "Р/С " + Объект.Наименование);
ЗначенияЗаполнения.Вставить("Владелец", Объект.Ссылка);
СтруктураПараметров = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения);
ОткрытьФорму("Справочник.РасчетныеСчетаКонтрагентов.ФормаОбъекта", СтруктураПараметров);
КонецПроцедуры
&НаКлиенте

View File

@ -1,8 +1,8 @@
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ОБЪЕКТА
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ОБЪЕКТА
////////////////////////////////////////////////////////////////////////////////
// Обработчик события "Проверка заполнения"
////////////////////////////////////////////////////////////////////////////////
// Обработчик события "Проверка заполнения"
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
// Если это группа,
@ -32,10 +32,10 @@
Если НЕ ПустаяСтрока(Улица) Тогда
// Тогда, должны быть заполнены и поля Регион, Город, и Дом.
ПроверяемыеРеквизиты.Добавить("Регион");
ПроверяемыеРеквизиты.Добавить("Регион");
ПроверяемыеРеквизиты.Добавить("Город");
ПроверяемыеРеквизиты.Добавить("Дом");
КонецЕсли;
КонецПроцедуры

View File

@ -1,13 +1,13 @@
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Ключ.Пустая() Тогда
Объект.БитДанных = 8;
Объект.БитДанных = 8;
Объект.Скорость = 9600;
Объект.Порт = "COM1";

View File

@ -1,7 +1,7 @@
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
@ -12,7 +12,7 @@
СправочникСписок.Параметры.УстановитьЗначениеПараметра("ПоВсемСкладам", Ложь);
СправочникСписок.Параметры.УстановитьЗначениеПараметра("Склад", Параметры.ОстаткиПоСкладу);
Иначе
Отказ = Истина;

View File

@ -9,4 +9,4 @@
// Подключение внешней компоненты
НачатьУстановкуВнешнейКомпоненты(, "ОбщийМакет.ДрайверСканераШтрихкодов");
КонецПроцедуры
КонецПроцедуры

View File

@ -1,5 +1,5 @@
////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ МОДУЛЯ
//
Перем ДрайверСканераШтрихкодов Экспорт; // Сканер штрихкодов
////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ МОДУЛЯ
//
Перем ДрайверСканераШтрихкодов Экспорт; // Сканер штрихкодов

View File

@ -5,33 +5,33 @@
&НаКлиенте
Перем АдресТоваровВХранилище;
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ
//
// Функция возвращает цену определенного товара на дату согласно виду цены
//
// Параметры:
// Дата – Дата – дата, на которую определяется цена.
// Товар – СправочникСсылка.Товары – товар, цена которого определяется.
// ВидЦен – СправочникСсылка.ВидыЦен – вид цены.
//
// Возвращаемое значение:
// Число - Цена товара на определенную дату, согласно виду цены.
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ
//
// Функция возвращает цену определенного товара на дату согласно виду цены
//
// Параметры:
// Дата – Дата – дата, на которую определяется цена.
// Товар – СправочникСсылка.Товары – товар, цена которого определяется.
// ВидЦен – СправочникСсылка.ВидыЦен – вид цены.
//
// Возвращаемое значение:
// Число - Цена товара на определенную дату, согласно виду цены.
&НаСервереБезКонтекста
Функция ПолучитьЦенуТовара(Дата, Товар, ВидЦен)
ЦенаТовара = РегистрыСведений.ЦеныТоваров.ПолучитьПоследнее(
Дата, Новый Структура("Товар, ВидЦен", Товар, ВидЦен));
Возврат ЦенаТовара.Цена;
КонецФункции
// Функция возвращает вид цены для указанного покупателя
//
// Параметры:
// Покупатель – СправочникСсылка.Контрагенты – контрагент.
//
// Возвращаемое значение:
// СправочникСсылка.ВидыЦен - Вид цены для указанного покупателя.
Функция ПолучитьЦенуТовара(Дата, Товар, ВидЦен)
ЦенаТовара = РегистрыСведений.ЦеныТоваров.ПолучитьПоследнее(
Дата, Новый Структура("Товар, ВидЦен", Товар, ВидЦен));
Возврат ЦенаТовара.Цена;
КонецФункции
// Функция возвращает вид цены для указанного покупателя
//
// Параметры:
// Покупатель – СправочникСсылка.Контрагенты – контрагент.
//
// Возвращаемое значение:
// СправочникСсылка.ВидыЦен - Вид цены для указанного покупателя.
&НаСервереБезКонтекста
Функция ПолучитьВидЦенПокупателя(Покупатель)
Запрос = Новый Запрос();
@ -41,7 +41,7 @@
Если Выборка.Следующий() Тогда
Возврат Выборка.ВидЦен;
КонецЕсли;
Возврат Справочники.ВидыЦен.ПустаяСсылка();
Возврат Справочники.ВидыЦен.ПустаяСсылка();
КонецФункции
// Функция определяет услуга это или нет
@ -50,19 +50,19 @@
Возврат ?(Товар.Вид = Перечисления.ВидыТоваров.Услуга, Истина, Ложь);
КонецФункции
КонецФункции
// Процедура устанавливает цены товаров и вычисляет суммы по каждой строке
// табличной части Товары.
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// Нет.
// табличной части Товары.
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// Нет.
&НаСервере
Процедура ПересчитатьЦеныИСуммыТоваров(ПересчитатьДляВсехТоваров)
Запрос = Новый Запрос();
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| ЦеныТоваровСрезПоследних.Цена,
| ЦеныТоваровСрезПоследних.Товар
@ -70,14 +70,14 @@
| РегистрСведений.ЦеныТоваров.СрезПоследних(
| ,
| ВидЦен = &ВидЦены
| И Товар В (&Товары)) КАК ЦеныТоваровСрезПоследних";
| И Товар В (&Товары)) КАК ЦеныТоваровСрезПоследних";
Запрос.УстановитьПараметр("ВидЦены", Объект.ВидЦен);
Товары = Новый Массив();
Для каждого Стр Из Объект.Товары Цикл
Товары.Добавить(Стр.Товар);
КонецЦикла;
Товары = Новый Массив();
Для каждого Стр Из Объект.Товары Цикл
Товары.Добавить(Стр.Товар);
КонецЦикла;
Запрос.УстановитьПараметр("Товары", Товары);
ТЗЦены = Запрос.Выполнить().Выгрузить();
ТЗЦены.Индексы.Добавить("Товар");
Для каждого Стр Из Объект.Товары Цикл
@ -93,8 +93,8 @@
Стр.СуммаИзменена = Ложь;
Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар);
КонецЦикла;
КонецПроцедуры
КонецПроцедуры
// Функция помещает список товаров во временное хранилище и возвращает адрес
&НаСервере
Функция ПоместитьТоварыВХранилище()
@ -109,17 +109,17 @@
КонецПроцедуры
// Функция возвращает ссылку на текущую строку в списке товаров
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// СправочникСсылка.Товары - Текущий товар в списке.
// Функция возвращает ссылку на текущую строку в списке товаров
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// СправочникСсылка.Товары - Текущий товар в списке.
&НаКлиенте
Функция ПолучитьТекущуюСтрокуТовары()
Возврат Элементы.Товары.ТекущиеДанные;
КонецФункции
Функция ПолучитьТекущуюСтрокуТовары()
Возврат Элементы.Товары.ТекущиеДанные;
КонецФункции
// Процедура вычисляет дополнительные данные строки документа
&НаКлиентеНаСервереБезКонтекста
@ -143,16 +143,16 @@
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
&НаКлиенте
Процедура ТоварыТоварПриИзменении(Элемент)
Стр = ПолучитьТекущуюСтрокуТовары();
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар);
Стр.Цена = ПолучитьЦенуТовара(Объект.Дата, Стр.Товар, Объект.ВидЦен);
Стр.Количество = ?(Стр.ЭтоУслуга ИЛИ Стр.Количество = 0, 1, Стр.Количество);
Стр.Количество = ?(Стр.ЭтоУслуга ИЛИ Стр.Количество = 0, 1, Стр.Количество);
Стр.Сумма = Стр.Количество * Стр.Цена;
ЗаполнитьДополнительныеДанныеСтроки(Стр);
КонецПроцедуры
@ -177,15 +177,15 @@
&НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
Стр = ПолучитьТекущуюСтрокуТовары();
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.Сумма = Стр.Количество * Стр.Цена;
ЗаполнитьДополнительныеДанныеСтроки(Стр);
КонецПроцедуры
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.Сумма = Стр.Количество * Стр.Цена;
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.Сумма = Стр.Количество * Стр.Цена;
ЗаполнитьДополнительныеДанныеСтроки(Стр);
КонецПроцедуры
@ -194,8 +194,8 @@
Стр = ПолучитьТекущуюСтрокуТовары();
ЗаполнитьДополнительныеДанныеСтроки(Стр);
КонецПроцедуры
// Обработчик команды подбора
// Обработчик команды подбора
&НаКлиенте
Процедура КомандаПодбор()
#Если МобильныйКлиент Тогда
@ -206,7 +206,7 @@
АдресТоваровВХранилище = ПоместитьТоварыВХранилище();
ПараметрыПодбора = Новый Структура("АдресТоваровДокумента, ВидЦен, Склад", АдресТоваровВХранилище, Объект.ВидЦен, Объект.Склад);
ФормаПодбора = ОткрытьФорму(Имя, ПараметрыПодбора, ЭтотОбъект);
КонецПроцедуры
КонецПроцедуры
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)

View File

@ -1,7 +1,7 @@
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)

View File

@ -1,26 +1,26 @@
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
// Обработчик копирования документа выполняет также копирование движений
Процедура ПриКопировании(ОбъектКопирования)
ОбъектКопирования.Движения.ТоварныеЗапасы.Прочитать();
Для каждого ИсхЗапись Из ОбъектКопирования.Движения.ТоварныеЗапасы Цикл
Запись = Движения.ТоварныеЗапасы.Добавить();
Запись.ВидДвижения = ИсхЗапись.ВидДвижения;
Запись.Товар = ИсхЗапись.Товар;
Запись.Склад = ИсхЗапись.Склад;
Запись.Количество = ИсхЗапись.Количество;
КонецЦикла;
КонецПроцедуры
Процедура ПриКопировании(ОбъектКопирования)
ОбъектКопирования.Движения.ТоварныеЗапасы.Прочитать();
Для каждого ИсхЗапись Из ОбъектКопирования.Движения.ТоварныеЗапасы Цикл
Запись = Движения.ТоварныеЗапасы.Добавить();
Запись.ВидДвижения = ИсхЗапись.ВидДвижения;
Запись.Товар = ИсхЗапись.Товар;
Запись.Склад = ИсхЗапись.Склад;
Запись.Количество = ИсхЗапись.Количество;
КонецЦикла;
КонецПроцедуры
// Обработчик события, предшествующего записи, устанавливает всем
// движениям дату самого документа
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
// движениям дату самого документа
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Для каждого Запись Из Движения.ТоварныеЗапасы Цикл
Запись.Период = Дата;
КонецЦикла;
Для каждого Запись Из Движения.ТоварныеЗапасы Цикл
Запись.Период = Дата;
КонецЦикла;
КонецПроцедуры
КонецПроцедуры

View File

@ -1,8 +1,8 @@
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
Процедура ОбработкаПроведения(Отказ, Режим)
// Формирование движения регистра накопления Взаиморасчеты
Движения.Взаиморасчеты.Записывать = Истина;
@ -10,7 +10,7 @@
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Контрагент = Поставщик;
Движение.Сумма = Сумма;
Движение.Сумма = Сумма;
Движение.Валюта = Валюта;
КонецПроцедуры
@ -20,7 +20,7 @@
Поставщик = ДанныеЗаполнения.Поставщик;
Организация = ДанныеЗаполнения.Организация;
Сумма = ДанныеЗаполнения.Товары.Итог("Сумма");
ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Контрагенты") Тогда
ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Контрагенты") Тогда
ЗапросПоКонтрагенту = Новый Запрос("ВЫБРАТЬ
| Контрагенты.ЭтоГруппа
@ -34,7 +34,7 @@
Возврат;
КонецЕсли;
Поставщик = ДанныеЗаполнения.Ссылка;
Поставщик = ДанныеЗаполнения.Ссылка;
КонецЕсли;
КонецПроцедуры

View File

@ -1,10 +1,10 @@
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
Процедура ОбработкаПроведения(Отказ, Режим)
// Формирование движения регистра накопления Взаиморасчеты
// Формирование движения регистра накопления Взаиморасчеты
Движения.Взаиморасчеты.Записывать = Истина;
Движение = Движения.Взаиморасчеты.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
@ -19,7 +19,7 @@
Валюта = ДанныеЗаполнения.Валюта;
Покупатель = ДанныеЗаполнения.Покупатель;
Организация = ДанныеЗаполнения.Организация;
ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Контрагенты") Тогда
ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Контрагенты") Тогда
ЗапросПоКонтрагенту = Новый Запрос("ВЫБРАТЬ
| Контрагенты.ЭтоГруппа
@ -33,7 +33,7 @@
Возврат;
КонецЕсли;
Покупатель = ДанныеЗаполнения.Ссылка;
Покупатель = ДанныеЗаполнения.Ссылка;
КонецЕсли;
КонецПроцедуры

View File

@ -1,14 +1,14 @@
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ
//
// Функция возвращает закупочную цену определенного товара на дату
//
// Параметры:
// Дата – Дата – дата, на которую определяется цена.
// Товар – СправочникСсылка.Товары – товар, цена которого определяется.
//
// Возвращаемое значение:
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ
//
// Функция возвращает закупочную цену определенного товара на дату
//
// Параметры:
// Дата – Дата – дата, на которую определяется цена.
// Товар – СправочникСсылка.Товары – товар, цена которого определяется.
//
// Возвращаемое значение:
// Число - Цена товара на определенную дату.
&НаСервереБезКонтекста
Функция ПолучитьЦенуТовара(Дата, Товар)
@ -21,29 +21,29 @@
КонецФункции
// Функция возвращает ссылку на текущую строку в списке товаров
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// СправочникСсылка.Товары - Текущий товар в списке.
// Функция возвращает ссылку на текущую строку в списке товаров
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// СправочникСсылка.Товары - Текущий товар в списке.
&НаКлиенте
Функция ПолучитьТекущуюСтрокуТовары()
Возврат Элементы.Товары.ТекущиеДанные;
КонецФункции
КонецФункции
// Функция возвращает товар по штрихкоду
// Функция возвращает товар по штрихкоду
&НаСервереБезКонтекста
Функция ПолучитьТоварПоШтрихкоду(Штрихкод)
Возврат Справочники.Товары.НайтиПоРеквизиту("Штрихкод", Штрихкод);
КонецФункции
// Функция добавляет товар в накладную или увеличивает кол-во уже добавленного
Функция ПолучитьТоварПоШтрихкоду(Штрихкод)
Возврат Справочники.Товары.НайтиПоРеквизиту("Штрихкод", Штрихкод);
КонецФункции
// Функция добавляет товар в накладную или увеличивает кол-во уже добавленного
&НаКлиенте
Функция ДобавитьТовар(Товар)
Строки = Объект.Товары.НайтиСтроки(Новый Структура("Товар", Товар));
Если Строки.Количество() > 0 Тогда
@ -51,25 +51,25 @@
Элемент = Строки[0];
Иначе
Элемент = Объект.Товары.Добавить();
Элемент.Товар = Товар;
Элемент = Объект.Товары.Добавить();
Элемент.Товар = Товар;
Элемент.Цена = ПолучитьЦенуТовара(Объект.Дата, Товар);
КонецЕсли;
Элемент.Количество = Элемент.Количество + 1;
Элемент.Количество = Элемент.Количество + 1;
Элемент.Сумма = Элемент.Количество * Элемент.Цена;
Элементы.Товары.ТекущаяСтрока = Элемент.ПолучитьИдентификатор();
Элементы.Товары.ТекущийЭлемент = Элементы.Товары.ПодчиненныеЭлементы.ТоварыКоличество;
Элементы.Товары.ИзменитьСтроку();
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
&НаКлиенте
Процедура ТоварыТоварПриИзменении(Элемент)
@ -83,34 +83,34 @@
&НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
Стр = ПолучитьТекущуюСтрокуТовары();
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.Сумма = Стр.Количество * Стр.Цена;
КонецПроцедуры
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
Стр = ПолучитьТекущуюСтрокуТовары();
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.Сумма = Стр.Количество * Стр.Цена;
КонецПроцедуры
&НаКлиенте
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Источник = "СканерШтрихкода" Тогда
Если ВводДоступен() Тогда
Товар = ПолучитьТоварПоШтрихкоду(Данные);
Если НЕ Товар.Пустая() Тогда
ДобавитьТовар(Товар);
Товар = ПолучитьТоварПоШтрихкоду(Данные);
Если НЕ Товар.Пустая() Тогда
ДобавитьТовар(Товар);
КонецЕсли
КонецЕсли
КонецЕсли
КонецПроцедуры
КонецПроцедуры
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)

View File

@ -16,16 +16,16 @@
КонецЦикла;
// Создание движения в регистре накопления Взаиморасчеты
// Создание движения в регистре накопления Взаиморасчеты
Движения.Взаиморасчеты.Записывать = Истина;
Движение = Движения.Взаиморасчеты.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Контрагент = Поставщик;
Движение = Движения.Взаиморасчеты.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Контрагент = Поставщик;
Движение.Валюта = Валюта;
Если Валюта.Пустая() Тогда
Движение.Сумма = Товары.Итог("Сумма");
Иначе
@ -37,8 +37,8 @@
Иначе
Движение.Сумма = Товары.Итог("Сумма") / Курс;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

View File

@ -5,33 +5,33 @@
&НаКлиенте
Перем АдресТоваровВХранилище;
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ
//
// Функция возвращает цену определенного товара на дату согласно виду цены
//
// Параметры:
// Дата – Дата – дата, на которую определяется цена.
// Товар – СправочникСсылка.Товары – товар, цена которого определяется.
// ВидЦен – СправочникСсылка.ВидыЦен – вид цены.
//
// Возвращаемое значение:
// Число - Цена товара на определенную дату, согласно виду цены.
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ
//
// Функция возвращает цену определенного товара на дату согласно виду цены
//
// Параметры:
// Дата – Дата – дата, на которую определяется цена.
// Товар – СправочникСсылка.Товары – товар, цена которого определяется.
// ВидЦен – СправочникСсылка.ВидыЦен – вид цены.
//
// Возвращаемое значение:
// Число - Цена товара на определенную дату, согласно виду цены.
&НаСервереБезКонтекста
Функция ПолучитьЦенуТовара(Дата, Товар, ВидЦен)
ЦенаТовара = РегистрыСведений.ЦеныТоваров.ПолучитьПоследнее(
Дата, Новый Структура("Товар, ВидЦен", Товар, ВидЦен));
Возврат ЦенаТовара.Цена;
КонецФункции
// Функция возвращает вид цены для указанного покупателя
//
// Параметры:
// Покупатель – СправочникСсылка.Контрагенты – контрагент.
//
// Возвращаемое значение:
// СправочникСсылка.ВидыЦен - Вид цены для указанного покупателя.
Функция ПолучитьЦенуТовара(Дата, Товар, ВидЦен)
ЦенаТовара = РегистрыСведений.ЦеныТоваров.ПолучитьПоследнее(
Дата, Новый Структура("Товар, ВидЦен", Товар, ВидЦен));
Возврат ЦенаТовара.Цена;
КонецФункции
// Функция возвращает вид цены для указанного покупателя
//
// Параметры:
// Покупатель – СправочникСсылка.Контрагенты – контрагент.
//
// Возвращаемое значение:
// СправочникСсылка.ВидыЦен - Вид цены для указанного покупателя.
&НаСервереБезКонтекста
Функция ПолучитьВидЦенПокупателя(Покупатель)
Запрос = Новый Запрос();
@ -41,7 +41,7 @@
Если Выборка.Следующий() Тогда
Возврат Выборка.ВидЦен;
КонецЕсли;
Возврат Справочники.ВидыЦен.ПустаяСсылка();
Возврат Справочники.ВидыЦен.ПустаяСсылка();
КонецФункции
// Функция определяет услуга это или нет
@ -50,19 +50,19 @@
Возврат ?(Товар.Вид = Перечисления.ВидыТоваров.Услуга, Истина, Ложь);
КонецФункции
КонецФункции
// Процедура устанавливает цены товаров и вычисляет суммы по каждой строке
// табличной части Товары.
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// Нет.
// табличной части Товары.
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// Нет.
&НаСервере
Процедура ПересчитатьЦеныИСуммыТоваров(ПересчитатьДляВсехТоваров)
Запрос = Новый Запрос();
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| ЦеныТоваровСрезПоследних.Цена,
| ЦеныТоваровСрезПоследних.Товар
@ -70,14 +70,14 @@
| РегистрСведений.ЦеныТоваров.СрезПоследних(
| ,
| ВидЦен = &ВидЦены
| И Товар В (&Товары)) КАК ЦеныТоваровСрезПоследних";
| И Товар В (&Товары)) КАК ЦеныТоваровСрезПоследних";
Запрос.УстановитьПараметр("ВидЦены", Объект.ВидЦен);
Товары = Новый Массив();
Для каждого Стр Из Объект.Товары Цикл
Товары.Добавить(Стр.Товар);
КонецЦикла;
Товары = Новый Массив();
Для каждого Стр Из Объект.Товары Цикл
Товары.Добавить(Стр.Товар);
КонецЦикла;
Запрос.УстановитьПараметр("Товары", Товары);
ТЗЦены = Запрос.Выполнить().Выгрузить();
ТЗЦены.Индексы.Добавить("Товар");
Для каждого Стр Из Объект.Товары Цикл
@ -93,8 +93,8 @@
Стр.СуммаИзменена = Ложь;
Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар);
КонецЦикла;
КонецПроцедуры
КонецПроцедуры
// Функция помещает список товаров во временное хранилище и возвращает адрес
&НаСервере
Функция ПоместитьТоварыВХранилище()
@ -109,17 +109,17 @@
КонецПроцедуры
// Функция возвращает ссылку на текущую строку в списке товаров
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// СправочникСсылка.Товары - Текущий товар в списке.
// Функция возвращает ссылку на текущую строку в списке товаров
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// СправочникСсылка.Товары - Текущий товар в списке.
&НаКлиенте
Функция ПолучитьТекущуюСтрокуТовары()
Возврат Элементы.Товары.ТекущиеДанные;
КонецФункции
Функция ПолучитьТекущуюСтрокуТовары()
Возврат Элементы.Товары.ТекущиеДанные;
КонецФункции
// Процедура вычисляет дополнительные данные строки документа
&НаКлиентеНаСервереБезКонтекста
@ -130,16 +130,16 @@
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
//
&НаКлиенте
Процедура ТоварыТоварПриИзменении(Элемент)
Стр = ПолучитьТекущуюСтрокуТовары();
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар);
Стр.Цена = ПолучитьЦенуТовара(Объект.Дата, Стр.Товар, Объект.ВидЦен);
Стр.Количество = ?(Стр.ЭтоУслуга ИЛИ Стр.Количество = 0, 1, Стр.Количество);
Стр.Количество = ?(Стр.ЭтоУслуга ИЛИ Стр.Количество = 0, 1, Стр.Количество);
Стр.Сумма = Стр.Количество * Стр.Цена;
ЗаполнитьДополнительныеДанныеСтроки(Стр);
КонецПроцедуры
@ -164,15 +164,15 @@
&НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
Стр = ПолучитьТекущуюСтрокуТовары();
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.Сумма = Стр.Количество * Стр.Цена;
ЗаполнитьДополнительныеДанныеСтроки(Стр);
КонецПроцедуры
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.Сумма = Стр.Количество * Стр.Цена;
Стр = ПолучитьТекущуюСтрокуТовары();
Стр.Сумма = Стр.Количество * Стр.Цена;
ЗаполнитьДополнительныеДанныеСтроки(Стр);
КонецПроцедуры
@ -181,8 +181,8 @@
Стр = ПолучитьТекущуюСтрокуТовары();
ЗаполнитьДополнительныеДанныеСтроки(Стр);
КонецПроцедуры
// Обработчик команды подбора
// Обработчик команды подбора
&НаКлиенте
Процедура КомандаПодбор()
#Если МобильныйКлиент Тогда
@ -193,7 +193,7 @@
АдресТоваровВХранилище = ПоместитьТоварыВХранилище();
ПараметрыПодбора = Новый Структура("АдресТоваровДокумента, ВидЦен, Склад", АдресТоваровВХранилище, Объект.ВидЦен, Объект.Склад);
ФормаПодбора = ОткрытьФорму(Имя, ПараметрыПодбора, ЭтотОбъект);
КонецПроцедуры
КонецПроцедуры
&НаСервере
Процедура ПересчитатьНаСервере()

View File

@ -39,8 +39,8 @@
Ответ.УстановитьТелоИзСтроки("Неизвестное имя метода");
КонецЕсли;
Возврат Ответ;
Возврат Ответ;
КонецФункции

View File

@ -70,7 +70,7 @@
Возврат Ответ;
КонецФункции
Функция СоздатьXMLПоВыборке(Выборка)
@ -212,5 +212,5 @@
КонецПопытки;
Возврат Ответ;
КонецФункции

View File

@ -4,5 +4,5 @@
ПараметрыФормы = Новый Структура("Отбор,КлючНазначенияИспользования,СформироватьПриОткрытии", Новый Структура("Склад", ПараметрКоманды), "ОстаткиПоСкладу", Истина);
ОткрытьФорму("Отчет.ОстаткиТоваровНаСкладах.Форма", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры