Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom_Babushkin.docx
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
2.25 Mб
Скачать

Приложение 1 Карта процесса внедрения программного комплекса «1с:Предприятие»

Рис. 1. Карта процесса внедрения программного комплекса «1С:Предприятие».

Рис. 2. Первичные работы. Сбор информации и определение требований

Рис. 3. Схема анализа и построения технической архитектуры проекта

Рис.4. Установка программного обеспечения

Рис.5. Адаптация и тестирование программного обеспечения

Рис.6. Внедрение программного продукта

Рис.7 Обучение

Рис.8. Сопровождение

ПРИЛОЖЕНИЕ 2 Договор № В01/04/2010

ПРИЛОЖЕНИЕ 3 Договор о сотрудничестве ООО «Софт-Сервис» и ИвГУ

ПРИЛОЖЕНИЕ 4 Договор о сотрудничестве ООО «Инициатива» и ИвГУ

ПРИЛОЖЕНИЕ 5 План-график работ по внедрению система управления складом и автоматизации продаж «1С:Розница 8»

ПРИЛОЖЕНИЕ 6 Техническое задание

ПРИЛОЖЕНИЕ 7 Схема локальной вычислительной сети магазина «Галактика» в ТЦ «Плаза»

ПРИЛОЖЕНИЕ 8 Схема локальной вычислительной сети магазина «Галактика» в ТЦ «9 квадратов»

ПРИЛОЖЕНИЕ 9 Свидетельство о государственной регистрации программы для ЭВМ № 2012611588

ПРИЛОЖЕНИЕ 10

Модуль формы инструмента «Рабочее место закупки»

Процедура КоманднаяПанель2Выполнение(Кнопка)

докПоступления = сформироватьПоступление();

сообщить("Создан документ поступления: "+докПоступления);

если СформироватьУстановкуЦен тогда

докУстановкиЦен = сформироватьУстановкуЦен(докПоступления);

сообщить("Создан документ установки цен: "+докУстановкиЦен);

если СформироватьУстановкуЦенВМагазине тогда

докУстановкиЦенМагазин = сформироватьУстановкуЦенВМагазине(докПоступления, докУстановкиЦен);

сообщить("Создан документ установки цен магазина: "+докУстановкиЦенМагазин);

конецЕсли;

конецЕсли;

Закрыть();

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

Процедура Флажок2ПриИзменении(Элемент)

ЭлементыФормы.ПолеВводаТипЦеныНоменклатуры.Видимость = СформироватьУстановкуЦен;

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

процедура пересчетСуммы()

текДанные = ЭлементыФормы.Товары.ТекущиеДанные;

текДанные.Сумма = текДанные.Количество * текДанные.Цена;

конецпроцедуры

Процедура ТоварыКоличествоПриИзменении(Элемент)

пересчетСуммы();

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

Процедура ТоварыЦенаПриИзменении(Элемент)

пересчетСуммы();

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

Процедура МагазинПриИзменении(Элемент)

Склад = Магазин.ОсновнойСклад;

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

Процедура КоманднаяПанель1ПечатьЭтикетки(Кнопка)

печать();

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

Процедура КоманднаяПанель1Подбор(Кнопка)

ФормаПодбора = Справочники.Номенклатура.ПолучитьФормуВыбора(, ЭлементыФормы.Товары);

ФормаПодбора.РежимВыбора = истина;

ФормаПодбора.ЗакрыватьПриВыборе = ложь;

ФормаПодбора.Открыть();

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

Процедура ТоварыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

ТЗ = Товары.Выгрузить(,"Номенклатура");

если ТЗ.Найти(ВыбранноеЗначение, "Номенклатура")=неопределено тогда

новСтрока = Товары.Добавить();

новСтрока.Номенклатура = ВыбранноеЗначение;

//новСтрока.ХарактеристикаНоменклатуры = новХарактеристика;

новСтрока.ЕдиницаИзмерения = ВыбранноеЗначение.ЕдиницаХраненияОстатков;

новСтрока.Количество = 1;

новСтрока.Коэффициент = ВыбранноеЗначение.ЕдиницаХраненияОстатков.Коэффициент;

новСтрока.СтавкаНДС = ВыбранноеЗначение.СтавкаНДС;

конецЕсли;

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

Процедура КоманднаяПанель1Назначить(Кнопка)

текДанные = ЭлементыФормы.Товары.ТекущиеДанные;

если текДанные=неопределено тогда возврат; конецЕсли;

товар = текДанные.Номенклатура;

префикс = СокрЛП(товар.НоменклатурнаяГруппа.Код);

если ВариантПолученияКода=1 тогда // назначить вручную

выбКод = префикс+"1";

если НЕ ВвестиСтроку(выбКод, "Введите код", 100) тогда возврат; конецЕсли;

если проверитьНаличиеКодаХарактеристики(сокрЛП(выбКод)) тогда возврат; конецЕсли;

новыйН = выбКод;

новХарактеристика = назначитьНовуюХарактеристикуТовару(товар, новыйН, ДатаВходящегоДокумента);

добавитьНовыйШК(Товар, новХарактеристика);

иначеесли ВариантПолученияКода=2 тогда // выбрать из свободных

СЗ = датьСЗсвободныхХарактеристикТовара1(товар);

выбКод = СЗ.ВыбратьЭлемент("Выберите свободный код");

если выбКод=неопределено тогда возврат; конецЕсли;

стркОбъектЗначение = выбКод.Значение;

новыйН = стркОбъектЗначение.Значение;

новХарактеристика = переписатьХарактеристикуТовару(стркОбъектЗначение.Объект, новыйН, ДатаВходящегоДокумента);

иначеесли ВариантПолученияКода=3 тогда // назначить итерально

номер = выцепитьСтаршийНомерПоПрефиксу(префикс);

//если (номер = (префикс+"9")) тогда номер = (префикс+"9") конецесли;

новыйН = сформироватьНовыйНомер1(Префикс, номер);

новХарактеристика = назначитьНовуюХарактеристикуТовару(товар, новыйН, ДатаВходящегоДокумента);

добавитьНовыйШК(Товар, новХарактеристика);

иначе

сообщить("Установите вариант получения кода !!", СтатусСообщения.Важное);

возврат;

конецЕсли;

текДанные.ХарактеристикаНоменклатуры = новХарактеристика;

//текДанные.ЕдиницаИзмерения = товар.ЕдиницаХраненияОстатков;

//текДанные.Коэффициент = товар.ЕдиницаХраненияОстатков.Коэффициент;

//текДанные.СтавкаНДС = товар.СтавкаНДС;

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

//********************тест************************

процедура печать()

обж = Обработки.ПечатьЭтикетокИЦенников.Создать();

фрм = обж.ПолучитьФорму();

фрм.ВидЦен = 1;

фрм.Магазин = Магазин;

фрм.Дата = ДатаВходящегоДокумента;

фрм.ОрганизацияДляПечати = Магазин;

фрм.ТипЦен = ТипЦенНоменклатуры;

фрм.ОрганизацияДляПечати = Склад.Организация;

для каждого стр из Товары цикл

новСтр = фрм.Товары.Добавить();

новСтр.Номенклатура_Ссылка = стр.Номенклатура;

новСтр.Номенклатура_ХарактеристикаНоменклатуры = стр.ХарактеристикаНоменклатуры;

новСтр.Номенклатура_ЕдиницаИзмерения = стр.ЕдиницаИзмерения;

новСтр.Номенклатура_Цена = стр.Цена;

новСтр.Остаток = стр.Количество;

новСтр.КоличествоЭкземпляров = 1;

рез = датьШтрихКод(стр.Номенклатура, стр.ХарактеристикаНоменклатуры);

если рез<>ложь тогда

новСтр.Номенклатура_Штрихкод = рез.Штрихкод;

новСтр.Номенклатура_ПредставлениеШтрихкода = рез.ПредставлениеШтрихкода;

новСтр.Номенклатура_ТипШтрихкода = рез.ТипШтрихкода;

конецЕсли;

конецЦикла;

фрм.Открыть();

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

///***************** рабочие ***********************

процедура печатьОбычнойЭтикеткиШК()

//перем Компонент;

текДанные = ЭлементыФормы.Товары.ТекущиеДанные;

если текДанные=неопределено тогда возврат; конецЕсли;

врем = датьШК(текДанные.Номенклатура, текДанные.ХарактеристикаНоменклатуры);

ТабДокумент = Новый ТабличныйДокумент;

Макет = ПолучитьМакет("Этикетка");

ОбластьМакета = Макет.ПолучитьОбласть("ВыводШК");

//Попытка

//Компонент = Новый COMОбъект("V8.Barcod");

ОбластьМакета.Рисунки.ШК1.Объект.ОтображатьТекст = истина;

ОбластьМакета.Рисунки.ШК1.Объект.Сообщение = Врем;

ОбластьМакета.Рисунки.ШК1.Объект.ТекстКода = Врем;

//ОбластьМакета.Рисунки.ШК1.Объект.ТипКода = 1;

ОбластьМакета.Рисунки.ШК1.Объект.АвтоТип = истина;

ОбластьМакета.Параметры.Характеристика = текДанные.ХарактеристикаНоменклатуры.Наименование;

ОбластьМакета.Параметры.Наименование = текДанные.Номенклатура.Наименование;

//Исключение

// Сообщить("Компонента V8.Barcod(1CBarCod.dll) не установлена на данном компьютере!", СтатусСообщения.Важное);

//КонецПопытки;

ТабДокумент.Вывести(ОбластьМакета);

ТабДокумент.ОтображатьСетку = Ложь;

ТабДокумент.Защита = Истина;

ТабДокумент.АвтоМасштаб = Истина;

ТабДокумент.ОтображатьЗаголовки = Ложь;

//если ДляНовыхШКсразуПечать тогда

// ТабДокумент.Напечатать();

//иначе

// ТабДокумент.Показать();

//конецЕсли;

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

Процедура КоманднаяПанель1КопироватьСНовыми(Кнопка)

текДанные = ЭлементыФормы.Товары.ТекущиеДанные;

если текДанные=неопределено тогда возврат; конецЕсли;

товар = текДанные.Номенклатура;

префикс = СокрЛП(товар.НоменклатурнаяГруппа.Код);

если ВариантПолученияКода=1 тогда // назначить вручную

выбКод = префикс+"1";

если НЕ ВвестиСтроку(выбКод, "Введите код", 100) тогда возврат; конецЕсли;

если проверитьНаличиеКодаХарактеристики(сокрЛП(выбКод)) тогда возврат; конецЕсли;

новыйН = выбКод;

новХарактеристика = назначитьНовуюХарактеристикуТовару(товар, новыйН, ДатаВходящегоДокумента);

добавитьНовыйШК(Товар, новХарактеристика);

иначеесли ВариантПолученияКода=2 тогда // выбрать из свободных

СЗ = датьСЗсвободныхХарактеристикТовара1(товар);

выбКод = СЗ.ВыбратьЭлемент("Выберите свободный код");

если выбКод=неопределено тогда возврат; конецЕсли;

стркОбъектЗначение = выбКод.Значение;

новыйН = стркОбъектЗначение.Значение;

новХарактеристика = переписатьХарактеристикуТовару(стркОбъектЗначение.Объект, новыйН, ДатаВходящегоДокумента);

иначеесли ВариантПолученияКода=3 тогда // назначить итерально

номер = выцепитьСтаршийНомерПоПрефиксу(префикс);

новыйН = сформироватьНовыйНомер1(Префикс, номер);

новХарактеристика = назначитьНовуюХарактеристикуТовару(товар, новыйН, ДатаВходящегоДокумента);

добавитьНовыйШК(Товар, новХарактеристика);

иначе

сообщить("Установите вариант получения кода !!", СтатусСообщения.Важное);

возврат;

конецЕсли;

новСтрока = Товары.Добавить();

новСтрока.Номенклатура = товар;

новСтрока.ХарактеристикаНоменклатуры = новХарактеристика;

новСтрока.ЕдиницаИзмерения = товар.ЕдиницаХраненияОстатков;

новСтрока.Количество = 1;

новСтрока.Коэффициент = товар.ЕдиницаХраненияОстатков.Коэффициент;

новСтрока.СтавкаНДС = товар.СтавкаНДС;

новСтрока.Сумма = 0;

новСтрока.СуммаНДС = 0;

новСтрока.Цена = 0;

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

///******************работа с ТО*************************

Процедура ПриОткрытии()

ВариантПолученияКода = 3;

СформироватьУстановкуЦен = Истина;

СформироватьУстановкуЦенВМагазине = ложь;

ДатаВходящегоДокумента = ТекущаяДата();

ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);

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

// Процедура - обработчик внешнего события, которое возникает при посылке

// внешним приложением сообщения, сформированного в специальном формате.

// Внешнее событие сначала обрабатывается всеми открытыми формами, имеющими

// обработчик этого события, а затем может быть обработано в процедуре модуля

// приложения с именем ОбработкаВнешнегоСобытия().

//

// Параметры:

// Источник - <Строка>

// - Источник внешнего события.

//

// Событие - <Строка>

// - Наименование события.

//

// Данные - <Строка>

// - Данные для события.

//

Процедура ВнешнееСобытие(Источник, Событие, Данные)

Если Не ВводДоступен() Тогда

Возврат;

КонецЕсли;

если Источник="Сканер штрихкода" И Событие="ПолученШтрихкод" тогда

ОбработатьШК(сокрЛП(Данные));

конецЕсли;

КонецПроцедуры // ВнешнееСобытие()

процедура ОбработатьШК(ШК)

перем товар;

рез = естьШтрихКод(ШК);

если рез=ложь тогда

Массив = Новый Массив;

Массив.Добавить(Тип("СправочникСсылка.Номенклатура"));

ОписаниеТиповТов = Новый ОписаниеТипов(Массив);

если НЕ ВвестиЗначение(товар, "Выберите товар", ОписаниеТиповТов) тогда возврат; конецЕсли;

префикс = СокрЛП(товар.НоменклатурнаяГруппа.Код);

если ВариантПолученияКода=1 тогда // назначить вручную

выбКод = префикс+"00000001";

если НЕ ВвестиСтроку(выбКод, "Введите код", 100) тогда возврат; конецЕсли;

если проверитьНаличиеКодаХарактеристики(сокрЛП(выбКод)) тогда возврат; конецЕсли;

новыйН = выбКод;

новХарактеристика = назначитьНовуюХарактеристикуТовару(товар, новыйН, ДатаВходящегоДокумента);

добавитьНовыйШК(Товар, новХарактеристика);

иначеесли ВариантПолученияКода=2 тогда // выбрать из свободных

СЗ = датьСЗсвободныхХарактеристикТовара1(товар);

выбКод = СЗ.ВыбратьЭлемент("Выберите свободный код");

если выбКод=неопределено тогда возврат; конецЕсли;

стркОбъектЗначение = выбКод.Значение;

новыйН = стркОбъектЗначение.Значение;

новХарактеристика = переписатьХарактеристикуТовару(стркОбъектЗначение.Объект, новыйН, ДатаВходящегоДокумента);

иначеесли ВариантПолученияКода=3 тогда // назначить итерально

номер = выцепитьСтаршийНомерПоПрефиксу(префикс);

новыйН = сформироватьНовыйНомер1(Префикс, номер);

новХарактеристика = назначитьНовуюХарактеристикуТовару(товар, новыйН, ДатаВходящегоДокумента);

добавитьНовыйШК(Товар, новХарактеристика);

иначе

сообщить("Установите вариант получения кода !!", СтатусСообщения.Важное);

возврат;

конецЕсли;

добавитьВведенныйШК(Товар, новХарактеристика, ШК);

новСтрока = Товары.Добавить();

новСтрока.Номенклатура = товар;

новСтрока.ХарактеристикаНоменклатуры = новХарактеристика;

новСтрока.ЕдиницаИзмерения = товар.ЕдиницаХраненияОстатков;

новСтрока.Количество = 1;

новСтрока.Коэффициент = товар.ЕдиницаХраненияОстатков.Коэффициент;

новСтрока.СтавкаНДС = товар.СтавкаНДС;

новСтрока.Сумма = 0;

новСтрока.СуммаНДС = 0;

новСтрока.Цена = 0;

иначе // есть зарегистрированный ШК

новаяСтрока = Товары.Добавить();

новаяСтрока.Номенклатура = рез.Владелец;

новаяСтрока.ЕдиницаИзмерения = рез.ЕдиницаИзмерения;

новаяСтрока.ХарактеристикаНоменклатуры = рез.ХарактеристикаНоменклатуры;

новаяСтрока.Количество = 1;

новаяСтрока.Коэффициент = рез.ЕдиницаИзмерения.Коэффициент;

новаяСтрока.СтавкаНДС = рез.Владелец.СтавкаНДС;

новаяСтрока.Сумма = 0;

новаяСтрока.СуммаНДС = 0;

новаяСтрока.Цена = 0;

конецЕсли;

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

// Если ШК зарегистрирован в системе вернет структуру

// Владелец - СправочникСсылка.Номенклатура

// ЕдиницаИзмерения - СправочникСсылка.ЕдиницыИзмерения

// ХарактеристикаНоменклатуры - СправочникСсылка.ХарактеристикиНоменклатуры

// ТипШтрихкода - ПВХСсылка.ТипыШтрихКодов

// Иначе вернет ЛОЖЬ

функция естьШтрихКод(ШК)

запрос = новый Запрос;

запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1

| Штрихкоды.Владелец,

| Штрихкоды.ЕдиницаИзмерения,

| Штрихкоды.ХарактеристикаНоменклатуры,

| Штрихкоды.ТипШтрихкода

|ИЗ

| РегистрСведений.Штрихкоды КАК Штрихкоды

|ГДЕ

| Штрихкоды.Штрихкод = &парШК";

запрос.УстановитьПараметр("парШК", ШК);

выборка = запрос.Выполнить().Выбрать();

если выборка.Количество()=0 тогда возврат ЛОЖЬ; конецЕсли;

стрк = новый Структура;

выборка.Следующий();

стрк.Вставить("Владелец", выборка.Владелец);

стрк.Вставить("ЕдиницаИзмерения", выборка.ЕдиницаИзмерения);

стрк.Вставить("ХарактеристикаНоменклатуры", выборка.ХарактеристикаНоменклатуры);

стрк.Вставить("ТипШтрихкода", выборка.ТипШтрихкода);

возврат стрк;

конецФункции

функция датьШтрихКод(Товар, Характеристика)

запрос = новый Запрос;

запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1

| Штрихкоды.ТипШтрихкода,

| Штрихкоды.ПредставлениеШтрихкода,

| Штрихкоды.Штрихкод

|ИЗ

| РегистрСведений.Штрихкоды КАК Штрихкоды

|ГДЕ

| Штрихкоды.Владелец = &парТовар

| И Штрихкоды.ХарактеристикаНоменклатуры = &парХарактеристика";

запрос.УстановитьПараметр("парТовар", Товар);

запрос.УстановитьПараметр("парХарактеристика", Характеристика);

выборка = запрос.Выполнить().Выбрать();

если выборка.Количество()=0 тогда возврат ЛОЖЬ; конецЕсли;

стрк = новый Структура;

выборка.Следующий();

стрк.Вставить("ПредставлениеШтрихкода", выборка.ПредставлениеШтрихкода);

стрк.Вставить("Штрихкод", выборка.Штрихкод);

стрк.Вставить("ТипШтрихкода", выборка.ТипШтрихкода);

возврат стрк;

конецФункции

// Функция возвращает признак того, что клиент поддерживает работу с видом ТО,

// переданным в качестве параметра.

//

// Параметры:

// Вид - <ПеречислениеСсылка.ВидыТорговогоОборудования>

// - Вид торгового оборудования, информация о поддержке

// которого запрашивается.

//

// Возвращаемое значение:

// <Булево> - Признак поддержки указанного класса торгового оборудования.

//

Функция ПоддерживаетсяВидТО(Вид) Экспорт

Результат = Ложь;

Если Вид = Перечисления.ВидыТорговогоОборудования.СканерШтрихКода

Или Вид = Перечисления.ВидыТорговогоОборудования.ТерминалСбораДанных

Или Вид = Перечисления.ВидыТорговогоОборудования.СчитывательМагнитныхКарт Тогда

Результат = Истина;

КонецЕсли;

Возврат Результат;

КонецФункции // ПоддерживаетсяВидТО()

//***************** создание документов ***************

Процедура ПересчетСтрочки(СтрокаТабличнойЧасти, ПерейтиНаКоличество = Ложь, ЭтотОбъектДок)

Перем УстановленаСтавкаНДС;

Если СтрокаТабличнойЧасти.КлючСтроки = 0 Тогда

СтрокаТабличнойЧасти.КлючСтроки = УправлениеЗапасами.ПолучитьНовыйКлючСтроки(ЭтотОбъектДок);

КонецЕсли;

ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТабличнойЧасти,ЭтотОбъектДок);

СтрокаТабличнойЧасти.Коэффициент = СтрокаТабличнойЧасти.ЕдиницаИзмерения.Коэффициент;

УправлениеЗапасами.ОчиститьСерийныеНомера(СтрокаТабличнойЧасти, ЭтотОбъектДок,,Ложь);

ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъектДок);

ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъектДок, УчитыватьНДС, СуммаВключаетНДС);

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

функция сформироватьПоступление()

УчитыватьНДС = истина;

СуммаВключаетНДС = истина;

новДок = Документы.ПоступлениеТоваров.СоздатьДокумент();

новДок.Дата = ДатаВходящегоДокумента;

новДок.ДатаВходящегоДокумента = ДатаВходящегоДокумента;

новДок.Комментарий = "введено обработкой";

новДок.Контрагент = Контрагент;

новДок.Магазин = Магазин;

новДок.Ответственный = ПараметрыСеанса.ТекущийПользователь;

новДок.ПоступлениеПоОрдернойСхеме = ложь;

новДок.Склад = Склад;

новДок.СуммаДокумента = Товары.Итог("Сумма");

новДок.СуммаВключаетНДС = СуммаВключаетНДС;

новДок.УчитыватьНДС = УчитыватьНДС;

для каждого стр из Товары цикл

новСтрока = новДок.Товары.Добавить();

новСтрока.ЕдиницаИзмерения = стр.ЕдиницаИзмерения;

новСтрока.Количество = стр.Количество;

новСтрока.Коэффициент = стр.ЕдиницаИзмерения.Коэффициент;

новСтрока.Номенклатура = стр.Номенклатура;

новСтрока.СтавкаНДС = стр.Номенклатура.СтавкаНДС;

новСтрока.Сумма = стр.Сумма;

//новСтрока.СуммаНДС = стр.;

новСтрока.ХарактеристикаНоменклатуры = стр.ХарактеристикаНоменклатуры;

новСтрока.Цена = стр.Цена;

ПересчетСтрочки(новСтрока, Ложь, новДок);

конецЦикла;

новДок.Записать(РежимЗаписиДокумента.Проведение);

возврат новДок.Ссылка;

конецФункции

функция сформироватьУстановкуЦен(докПоступления)

новДок = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();

новДок.Дата = ДатаВходящегоДокумента;

новДок.ДокументОснование = докПоступления;

новДок.Информация = "";

новДок.Комментарий = "введено обработкой";

новДок.НеПроводитьНулевыеЗначения = истина;

новДок.Ответственный = ПараметрыСеанса.ТекущийПользователь;

новЦена = новДок.ТипыЦен.Добавить();

новЦена.ТипЦен = ТипЦенНоменклатуры;

для каждого стр из Товары цикл

новТовар = новДок.Товары.Добавить();

новТовар.ЕдиницаИзмерения = стр.ЕдиницаИзмерения;

новТовар.ИндексСтрокиТаблицыЦен = новЦена.НомерСтроки;

новТовар.Номенклатура = стр.Номенклатура;

новТовар.ТипЦен = новЦена.ТипЦен;

новТовар.ХарактеристикаНоменклатуры = стр.ХарактеристикаНоменклатуры;

новТовар.Цена = стр.Цена;

конецЦикла;

новДок.Записать(РежимЗаписиДокумента.Проведение);

возврат новДок.Ссылка;

конецФункции

функция сформироватьУстановкуЦенВМагазине(докПоступления, докУстановкиЦен)

новДок = Документы.УстановкаЦенНоменклатурыВМагазине.СоздатьДокумент();

новДок.Дата = ДатаВходящегоДокумента;

новДок.ДокументУстановкаЦен = докПоступления;

новДок.Комментарий = "введено обработкой";

новДок.Магазин = Магазин;

новДок.Ответственный = ПараметрыСеанса.ТекущийПользователь;

для каждого стр из Товары цикл

новТовар = новДок.Товары.Добавить();

новТовар.Дата = ДатаВходящегоДокумента;

новТовар.ДокументУстановкиЦен = докУстановкиЦен;

новТовар.Номенклатура = стр.Номенклатура;

новТовар.ХарактеристикаНоменклатуры = стр.ХарактеристикаНоменклатуры;

новТовар.ЦенаВРознице = стр.Цена;

//новТовар.ЦенаВРозницеСтарая = стр.;

конецЦикла;

новДок.Записать(РежимЗаписиДокумента.Проведение);

возврат новДок.Ссылка;

конецФункции

Процедура ТоварыНоменклатураПриИзменении(Элемент)

текДанные = ЭлементыФормы.Товары.ТекущиеДанные;

если текДанные=неопределено тогда возврат; конецЕсли;

текДанные.ЕдиницаИзмерения = текДанные.Номенклатура.ЕдиницаХраненияОстатков;

текДанные.Количество = 1;

текДанные.Коэффициент = текДанные.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент;

текДанные.СтавкаНДС = текДанные.Номенклатура.СтавкаНДС;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]