&НаСервере
&Вместо("ДобавитьНайденныеПозицииТоваровСервер")
функция cs_добавитьнайденныепозициитоваровсервер(xdcdda081e3154f3f875f377d0e0b012e, x0b0d1968da62419f9b76bc6d52451f8c) если не x0b0d1968da62419f9b76bc6d52451f8c = неопределено тогда xdcdda081e3154f3f875f377d0e0b012e = x0b0d1968da62419f9b76bc6d52451f8c; x780851ee566743de9d0757e7fbbc3f65 = xdcdda081e3154f3f875f377d0e0b012e; иначе x780851ee566743de9d0757e7fbbc3f65 = неопределено; конецесли; x3c7fdbbfa3e643738e61a305f3d427f0 = ложь; xa5874d74f4dc4cc0a08a260b99afa401 = истина; если xdcdda081e3154f3f875f377d0e0b012e.свойство("ДанныеМаркировки") и xdcdda081e3154f3f875f377d0e0b012e.данныемаркировки <> неопределено и xdcdda081e3154f3f875f377d0e0b012e.данныемаркировки.разобран тогда x3c7fdbbfa3e643738e61a305f3d427f0 = истина; xa5874d74f4dc4cc0a08a260b99afa401 = ложь; иначе xa5874d74f4dc4cc0a08a260b99afa401 = нужносворачиватьпострокепоиска(xdcdda081e3154f3f875f377d0e0b012e.номенклатура); конецесли; x7742a4ab83e846f09cbfb0878936330d = xdcdda081e3154f3f875f377d0e0b012e.номенклатура; если xdcdda081e3154f3f875f377d0e0b012e.свойство("Характеристика") тогда xc8f3fef9c38d43d79a6a66aadda836d6 = xdcdda081e3154f3f875f377d0e0b012e.характеристика; если xc8f3fef9c38d43d79a6a66aadda836d6 = неопределено тогда xc8f3fef9c38d43d79a6a66aadda836d6 = справочники.характеристикиноменклатуры.пустаяссылка(); конецесли; иначе xc8f3fef9c38d43d79a6a66aadda836d6 = справочники.характеристикиноменклатуры.пустаяссылка(); конецесли; если xdcdda081e3154f3f875f377d0e0b012e.свойство("Упаковка") тогда x52310dc0439549968ccf74ce4cd1a47c = xdcdda081e3154f3f875f377d0e0b012e.упаковка; если не значениезаполнено(x52310dc0439549968ccf74ce4cd1a47c) тогда x52310dc0439549968ccf74ce4cd1a47c = справочники.упаковкиноменклатуры.пустаяссылка(); конецесли; иначе x52310dc0439549968ccf74ce4cd1a47c = справочники.упаковкиноменклатуры.пустаяссылка(); конецесли; если xdcdda081e3154f3f875f377d0e0b012e.свойство("Количество") тогда xa7788b0f50a84a8ea9ffecfccdaa45bf = xdcdda081e3154f3f875f377d0e0b012e.количество; иначе xa7788b0f50a84a8ea9ffecfccdaa45bf = 1; конецесли; если xdcdda081e3154f3f875f377d0e0b012e.свойство("СерийныйНомер") тогда xa0c17a460bec450f830d7555ee8b54fd = xdcdda081e3154f3f875f377d0e0b012e.серийныйномер; конецесли; xaa9ed661390f4b6282e36d021cf0587c = ""; если нельзяпродавать(x7742a4ab83e846f09cbfb0878936330d, xaa9ed661390f4b6282e36d021cf0587c) тогда x47200fb007684968914848ea132892fd = новый структура; x47200fb007684968914848ea132892fd.вставить("ЗаголовокИнформации", нстр("ru = 'Запрет продаж.'")); x47200fb007684968914848ea132892fd.вставить("ТекстИнформации", xaa9ed661390f4b6282e36d021cf0587c); xdcdda081e3154f3f875f377d0e0b012e.вставить("ВывестиИнформациюРМКУправляемый", x47200fb007684968914848ea132892fd); возврат неопределено; конецесли; x5c285e8fc23a4d43944ac460505cc454 = ложь; x0c77b5c1401f432fbbd19d111f5927d7 = ложь; x0c6320154dac4590a48540cf76f02b97 = ложь; если xdcdda081e3154f3f875f377d0e0b012e.свойство("ЗагрузкаИзТСД") тогда если xdcdda081e3154f3f875f377d0e0b012e.загрузкаизтсд = истина тогда x0c77b5c1401f432fbbd19d111f5927d7 = истина; конецесли; конецесли; если xdcdda081e3154f3f875f377d0e0b012e.свойство("ОбновитьКоличество") тогда если xdcdda081e3154f3f875f377d0e0b012e.обновитьколичество = истина тогда x0c6320154dac4590a48540cf76f02b97 = истина; конецесли; конецесли; x44e8094493644bf5af0ed6e1d1dfa1e7 = неопределено; если (использоватьнастройкурмк и наборправинастроек.объединятьпозициисодинаковымтоваром и xa5874d74f4dc4cc0a08a260b99afa401) или (x0c77b5c1401f432fbbd19d111f5927d7 и x0c6320154dac4590a48540cf76f02b97) тогда если xdcdda081e3154f3f875f377d0e0b012e.свойство("ОбработатьБезМаркировки") тогда если xdcdda081e3154f3f875f377d0e0b012e.обработатьбезмаркировки тогда x44e8094493644bf5af0ed6e1d1dfa1e7 = объект.товары.найтистроки( новый структура("Номенклатура, Характеристика, Упаковка, КоличествоАкцизныхМарок", x7742a4ab83e846f09cbfb0878936330d, xc8f3fef9c38d43d79a6a66aadda836d6, x52310dc0439549968ccf74ce4cd1a47c, 0)); иначе x44e8094493644bf5af0ed6e1d1dfa1e7 = объект.товары.найтистроки( новый структура("Номенклатура, Характеристика, Упаковка, НеобходимостьВводаАкцизнойМарки", x7742a4ab83e846f09cbfb0878936330d, xc8f3fef9c38d43d79a6a66aadda836d6, x52310dc0439549968ccf74ce4cd1a47c, истина)); конецесли; иначе x44e8094493644bf5af0ed6e1d1dfa1e7 = объект.товары.найтистроки( новый структура("Номенклатура, Характеристика, Упаковка", x7742a4ab83e846f09cbfb0878936330d, xc8f3fef9c38d43d79a6a66aadda836d6, x52310dc0439549968ccf74ce4cd1a47c)); конецесли; иначеесли xdcdda081e3154f3f875f377d0e0b012e.свойство("ОбработатьБезМаркировки") и xdcdda081e3154f3f875f377d0e0b012e.обработатьбезмаркировки тогда x44e8094493644bf5af0ed6e1d1dfa1e7 = объект.товары.найтистроки( новый структура("Номенклатура, Характеристика, Упаковка, НеобходимостьВводаАкцизнойМарки, КоличествоАкцизныхМарок", x7742a4ab83e846f09cbfb0878936330d, xc8f3fef9c38d43d79a6a66aadda836d6, x52310dc0439549968ccf74ce4cd1a47c, истина, 0)); конецесли; если x44e8094493644bf5af0ed6e1d1dfa1e7 <> неопределено и x44e8094493644bf5af0ed6e1d1dfa1e7.количество() <> 0 тогда x2e2fe9e3709247c49b76bd50c39440ad = x44e8094493644bf5af0ed6e1d1dfa1e7[0].количествоупаковок; если x0c77b5c1401f432fbbd19d111f5927d7 и x0c6320154dac4590a48540cf76f02b97 тогда x44e8094493644bf5af0ed6e1d1dfa1e7[0].количествоупаковок = xa7788b0f50a84a8ea9ffecfccdaa45bf; иначеесли xdcdda081e3154f3f875f377d0e0b012e.свойство("ОбработатьБезМаркировки") и xdcdda081e3154f3f875f377d0e0b012e.обработатьбезмаркировки тогда x44e8094493644bf5af0ed6e1d1dfa1e7[0].количествоупаковок = x44e8094493644bf5af0ed6e1d1dfa1e7[0].количествоупаковок; иначе x44e8094493644bf5af0ed6e1d1dfa1e7[0].количествоупаковок = x44e8094493644bf5af0ed6e1d1dfa1e7[0].количествоупаковок + xa7788b0f50a84a8ea9ffecfccdaa45bf; конецесли; xb00fcc8c09284e139decf95425041e32 = x44e8094493644bf5af0ed6e1d1dfa1e7[0]; иначе если объект.товары.количество() = 0 тогда объект.дата = текущаядатасеанса(); конецесли; xb00fcc8c09284e139decf95425041e32 = объект.товары.добавить(); xb00fcc8c09284e139decf95425041e32.номенклатура = x7742a4ab83e846f09cbfb0878936330d; xb00fcc8c09284e139decf95425041e32.характеристика = xc8f3fef9c38d43d79a6a66aadda836d6; xb00fcc8c09284e139decf95425041e32.упаковка = x52310dc0439549968ccf74ce4cd1a47c; xb00fcc8c09284e139decf95425041e32.количествоупаковок = xa7788b0f50a84a8ea9ffecfccdaa45bf; x5c285e8fc23a4d43944ac460505cc454 = истина; конецесли; элементы.товары.текущаястрока = xb00fcc8c09284e139decf95425041e32.получитьидентификатор(); x7464b20aa8654b8b8ecd01c0be251380 = новый структура(); x7464b20aa8654b8b8ecd01c0be251380.вставить("Дата", объект.дата); x7464b20aa8654b8b8ecd01c0be251380.вставить("Магазин", объект.магазин); x7464b20aa8654b8b8ecd01c0be251380.вставить("РабочееМесто", объект.рабочееместо); x9cd14eb2792d4de9b5ad03a64a76ce83 = неопределено; если таблицакассккморганизаций.количество() = 1 тогда x9cd14eb2792d4de9b5ad03a64a76ce83 = таблицакассккморганизаций[0].организация; x7464b20aa8654b8b8ecd01c0be251380.вставить("ОрганизацияПоУмолчанию", x9cd14eb2792d4de9b5ad03a64a76ce83); конецесли; если не x9cd14eb2792d4de9b5ad03a64a76ce83 = неопределено тогда x7464b20aa8654b8b8ecd01c0be251380.вставить("Организация", x9cd14eb2792d4de9b5ad03a64a76ce83); иначе x7464b20aa8654b8b8ecd01c0be251380.вставить("Организация", объект.организация); конецесли; xa0ba1ae2321f40a0b6b8c704cfc4b6a3 = новый структура(); если x5c285e8fc23a4d43944ac460505cc454 тогда xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьТипНоменклатуры"); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьДоговорПлатежногоАгента"); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПроверитьСерийныеНомераПоВладельцу"); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПроверитьХарактеристикуПоВладельцу", xb00fcc8c09284e139decf95425041e32.характеристика); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПроверитьЗаполнитьУпаковкуПоВладельцу", xb00fcc8c09284e139decf95425041e32.упаковка); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьПредставлениеТабло", наборправинастроек.запростабло); если вестиучеттабачнойпродукциимотп тогда xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьФлагНДСПоСтрочно"); конецесли; если xb00fcc8c09284e139decf95425041e32.количествоупаковок = 0 тогда xb00fcc8c09284e139decf95425041e32.количествоупаковок = 1; добавитьвструктурудействияприизмененииколичестваупаковок(xa0ba1ae2321f40a0b6b8c704cfc4b6a3, объект); конецесли; xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПересчитатьКоличествоЕдиниц"); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьЕдиницуИзмерения"); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьВидНалога", обработкатабличнойчаститоварыклиентсервер.структурапараметровзаполнениявиданалога(объект)); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьСкладПродажи", x7464b20aa8654b8b8ecd01c0be251380); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьОрганизациюПродажи", x7464b20aa8654b8b8ecd01c0be251380); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьСтавкуНДССкладВСтроке", x7464b20aa8654b8b8ecd01c0be251380); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ЗаполнитьЦенуПродажи", обработкатабличнойчаститоварыклиентсервер.получитьструктурузаполненияценыпродаживстрокетч(объект, истина, ложь)); если объект.видоперации = перечисления.видыоперацийчекккм.продажа тогда xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПересчитатьСумму"); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", новый структура("Очищать", истина)); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПересчитатьСуммуСУчетомРучнойСкидки", новый структура("Очищать", истина)); иначе xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПересчитатьСуммуВозвратСУчетомОснования", новый структура("Основание", объект.чекккмпродажа)); конецесли; xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПроверитьСерийныеНомераПоВладельцу", обработкатабличнойчаститоварыклиентсервер.структурапроверкисерийныхномеровповладельцу(xb00fcc8c09284e139decf95425041e32, объект.серийныеномера)); обработкатабличнойчаститоварыклиентсервер.заполнитьключсвязи(объект.товары, xb00fcc8c09284e139decf95425041e32, "КлючСвязи"); если xdcdda081e3154f3f875f377d0e0b012e.свойство("Штрихкод") тогда xb00fcc8c09284e139decf95425041e32.штрихкод = xdcdda081e3154f3f875f377d0e0b012e.штрихкод; конецесли; xb00fcc8c09284e139decf95425041e32.кассаккм = x56091bbd31eb4a469ee6181d1d3d8396(); иначе добавитьвструктурудействияприизмененииколичестваупаковок(xa0ba1ae2321f40a0b6b8c704cfc4b6a3, объект); конецесли; x5c34f4bd9eed47b09e6c27e56b4fa488 = данныедляпроверкимаркированнойпродукции( x7464b20aa8654b8b8ecd01c0be251380.магазин, объект.операциясденежнымисредствами, этотобъект.вестиучеттабачнойпродукциимотп, x7464b20aa8654b8b8ecd01c0be251380.организация); если xdcdda081e3154f3f875f377d0e0b012e.свойство("ОбработатьБезМаркировки") и xdcdda081e3154f3f875f377d0e0b012e.обработатьбезмаркировки тогда x5c34f4bd9eed47b09e6c27e56b4fa488.вставить("ОбработатьБезМаркировки"); конецесли; xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПроверитьНеобходимостьВводаАкцизнойМарки", x5c34f4bd9eed47b09e6c27e56b4fa488); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПроверитьНеобходимостьВводаКодаМаркировки", x5c34f4bd9eed47b09e6c27e56b4fa488); xa0ba1ae2321f40a0b6b8c704cfc4b6a3.вставить("ПересчитатьСуммуНДС", обработкатабличнойчаститоварыклиентсервер.структурапересчетасуммындсвстрокетч(объект)); xdb46f2f2ed1b4d7d82e39249d46417e7 = новый структура; xdb46f2f2ed1b4d7d82e39249d46417e7.вставить("СтруктураПолейТЧ", получитьструктуруполейтч(xa0ba1ae2321f40a0b6b8c704cfc4b6a3)); xdb46f2f2ed1b4d7d82e39249d46417e7.вставить("ТекущаяСтрока" , получитьданныетекущейстроки(xb00fcc8c09284e139decf95425041e32, xdb46f2f2ed1b4d7d82e39249d46417e7.структураполейтч)); x7515b990b65047bcb81c6c1323be0902 = неопределено; обработкатабличнойчаститоварывызовсервера.приизмененииреквизитоввтчсервер( xdb46f2f2ed1b4d7d82e39249d46417e7, xa0ba1ae2321f40a0b6b8c704cfc4b6a3, x7515b990b65047bcb81c6c1323be0902); заполнитьзначениясвойств(xb00fcc8c09284e139decf95425041e32, xdb46f2f2ed1b4d7d82e39249d46417e7.текущаястрока); xc5b32ac5415941c6bf006f51b474359a = xb00fcc8c09284e139decf95425041e32.сумма; обработкатабличнойчаститоварыклиентсервер.заполнитьсуммувсеговтаблице(объект.товары, объект.ценавключаетндс); xb00fcc8c09284e139decf95425041e32.продавец = объект.продавец; x793415e1720b49e79947de761bd1ca57 = xb00fcc8c09284e139decf95425041e32.сумма; xbfa206687cde445e9d0aa02aa7810c80 = xc5b32ac5415941c6bf006f51b474359a - x793415e1720b49e79947de761bd1ca57; xbfa206687cde445e9d0aa02aa7810c80 = ?(xbfa206687cde445e9d0aa02aa7810c80 > 0, xbfa206687cde445e9d0aa02aa7810c80, 0); если xbfa206687cde445e9d0aa02aa7810c80 и наборправинастроек.логироватьдействиякассира и наборправинастроек.логируемыедействия.свойство("ИзменениеНоменклатуры") тогда логированиеизмененийстроки("ИзменениеНоменклатуры", неопределено, последняяредактируемаяноменклатура, справочники.характеристикиноменклатуры.пустаяссылка(), xb00fcc8c09284e139decf95425041e32.номенклатура, xb00fcc8c09284e139decf95425041e32.характеристика, xbfa206687cde445e9d0aa02aa7810c80); конецесли; обработкатабличнойчаститоварысервер.заполнитьпризнакиспользованияхарактеристик(объект.товары); обработкатабличнойчаститоварысервер.заполнитьстатусыуказаниясерий(объект, параметрыуказаниясерий); если xb00fcc8c09284e139decf95425041e32.цена = 0 тогда если использоватьнастройкурмк и наборправинастроек.назначатьценутоварамснулевойценой и не xb00fcc8c09284e139decf95425041e32.типноменклатуры = перечисления.типыноменклатуры.подарочныйсертификат тогда xdcdda081e3154f3f875f377d0e0b012e.вставить("ВвестиЦену"); иначеесли xb00fcc8c09284e139decf95425041e32.типноменклатуры = перечисления.типыноменклатуры.услуга и значениезаполнено(xb00fcc8c09284e139decf95425041e32.договорконтрагента) тогда xdcdda081e3154f3f875f377d0e0b012e.вставить("ВвестиЦенуПлатежа"); иначе x76b566cdb4d948428031926012f1ecc5 = нстр("ru = 'На товар %1 %2 не назначена цена.'"); x58573fbdcf1945caa0bd8681ef9b5973 = ""; если значениезаполнено(xb00fcc8c09284e139decf95425041e32.характеристика) тогда x58573fbdcf1945caa0bd8681ef9b5973 = "(" + xb00fcc8c09284e139decf95425041e32.характеристика + ")"; конецесли; x33091718cef049fca8bde9a0f42679d1 = новый структура; x33091718cef049fca8bde9a0f42679d1.вставить("ЗаголовокИнформации", нстр("ru = 'Цена не установлена.'")); x33091718cef049fca8bde9a0f42679d1.вставить("ТекстИнформации", стршаблон(x76b566cdb4d948428031926012f1ecc5, xb00fcc8c09284e139decf95425041e32.номенклатура, x58573fbdcf1945caa0bd8681ef9b5973)); xdcdda081e3154f3f875f377d0e0b012e.вставить("ВывестиИнформациюРМКУправляемый", x33091718cef049fca8bde9a0f42679d1); объект.товары.удалить(xb00fcc8c09284e139decf95425041e32); товарыпослеудалениясервер(); возврат неопределено; конецесли; иначе если не автоматическийрасчетскидок тогда отменитьскидкииоплатубонусамисервер(); конецесли; конецесли; x88374bea507d49dd9aa358cb9e09b3b3 = подбортовароввызовсервера.флагучетахарактеристик(xb00fcc8c09284e139decf95425041e32.номенклатура); xdcdda081e3154f3f875f377d0e0b012e.вставить("УчетХарактеристик", x88374bea507d49dd9aa358cb9e09b3b3); если xb00fcc8c09284e139decf95425041e32.статусуказаниясерий <> 0 тогда xdcdda081e3154f3f875f377d0e0b012e.вставить("ДобавитьСерийныйНомерИОткрытьВводСерии"); конецесли; заполнитьостаткисервер(); x780851ee566743de9d0757e7fbbc3f65 = xb00fcc8c09284e139decf95425041e32.получитьидентификатор(); если x780851ee566743de9d0757e7fbbc3f65 <> неопределено тогда если xb00fcc8c09284e139decf95425041e32.необходимостьвводаакцизноймарки тогда интеграцияегаисрт.обработатьнеобходимостьвводаакцизноймарки(xdcdda081e3154f3f875f377d0e0b012e, объект, xb00fcc8c09284e139decf95425041e32); иначеесли xb00fcc8c09284e139decf95425041e32.необходимостьвводакодамаркировки тогда если x3c7fdbbfa3e643738e61a305f3d427f0 тогда x0515b1bc024b42c3b6b21d16b8f08f61 = объект.кодымаркировки.добавить(); x0515b1bc024b42c3b6b21d16b8f08f61.ключсвязи = xb00fcc8c09284e139decf95425041e32.ключсвязи; x0515b1bc024b42c3b6b21d16b8f08f61.кодмаркировки = xdcdda081e3154f3f875f377d0e0b012e.штрихкод; x0515b1bc024b42c3b6b21d16b8f08f61.типкода = xb00fcc8c09284e139decf95425041e32.особенностиучетаноменклатуры; xb00fcc8c09284e139decf95425041e32.статусуказанияакцизныхмарок = 1; xb00fcc8c09284e139decf95425041e32.количествокодовмаркировки = 1; иначе xdcdda081e3154f3f875f377d0e0b012e.вставить("НеобходимостьВводаКодаМаркировки", истина); xb00fcc8c09284e139decf95425041e32.статусуказанияакцизныхмарок = 2; xb00fcc8c09284e139decf95425041e32.количествокодовмаркировки = 0; конецесли; иначеесли xdcdda081e3154f3f875f377d0e0b012e.свойство("ОбработатьБезМаркировки") и xdcdda081e3154f3f875f377d0e0b012e.обработатьбезмаркировки тогда xb00fcc8c09284e139decf95425041e32.статусуказанияакцизныхмарок = 0; xb00fcc8c09284e139decf95425041e32.особенностиучетаноменклатуры = перечисления.особенностиучетаноменклатуры.пустаяссылка(); xb00fcc8c09284e139decf95425041e32.штрихкод = ""; конецесли; конецесли; если не x0b0d1968da62419f9b76bc6d52451f8c = неопределено тогда xdcdda081e3154f3f875f377d0e0b012e = x780851ee566743de9d0757e7fbbc3f65; возврат xdcdda081e3154f3f875f377d0e0b012e; иначе возврат x780851ee566743de9d0757e7fbbc3f65; конецесли; xa807993247b84aab885dc24255fc6c1e = продолжитьвызов(xdcdda081e3154f3f875f377d0e0b012e, x0b0d1968da62419f9b76bc6d52451f8c); возврат xa807993247b84aab885dc24255fc6c1e;
конецфункции