- •Содержание
- •Введение
- •Технико-экономическая характеристика информационной системы объекта управления
- •Описание предприятия
- •Организационная структура
- •Характеристика существующей информационной системы
- •Аппаратное обеспечение
- •Программное обеспечение
- •Недостатки существующей системы управления
- •Обоснование необходимости внедрения ис
- •Выводы по разделу 1
- •Практическая реализация комплекса задач
- •Выбор программного продукта
- •Работы по внедрению
- •Предпродажные работы
- •Анализ, построение технической адаптации и детальное обследование
- •Поставка и установка программного и аппаратного обеспечения
- •Аппаратное обеспечение
- •Программное обеспечение
- •Разработка
- •Документ «Инвентаризация витрины».
- •Внедрение и тестирование
- •Обучение
- •Сопровождение
- •Вариант развития программного комплекса
- •Выводы по разделу 2
- •Расчет экономической эффективности
- •Совокупная стоимость владений
- •Окупаемость инвестиций
- •Годовая экономия от сокращения ручного труда по обработке информации
- •Источники экономической эффективности
- •Выводы по разделу 3
- •Заключение
- •Список использованной литературы
- •Приложение 1 Карта процесса внедрения программного комплекса «1с:Предприятие»
- •Приложение 11 Свидетельство о государственной регистрации программы для эвм № 2012613066
- •Приложение 12 Акт приемки-передачи работ на выполнение работ по внедрению и настройке пп семейства «1с:Предприятие 8»
Приложение 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;
текДанные.Коэффициент = текДанные.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент;
текДанные.СтавкаНДС = текДанные.Номенклатура.СтавкаНДС;
КонецПроцедуры
