|
УТ 11.4 и ЕГАИС | ☑ | ||
---|---|---|---|---|
0
geminisf
12.06.20
✎
13:10
|
Доброго всем дня. Можно ли использовать встроенные возможности УТ 11.4 для работы с ЕГАИС в опте? Поделитесь, пожалуйста, у кого есть опыт. Смущает, что учет алкогольной продукции включается в разделе "Розница". Вдруг есть какие-то особенности.
|
|||
1
H A D G E H O G s
12.06.20
✎
13:16
|
Можно.
Но будет весело. |
|||
2
Маленький Вопросик
12.06.20
✎
13:54
|
у меня есть опыт написания запросов к егаис без каких либо конфигураций - все работает
|
|||
3
ДедМорроз
12.06.20
✎
14:35
|
А чем опт отличается от розницы?
Тем,что розничных продаж нету,а накладные принимать и отправлять УТ умеет. В принципе,там даже коробки есть. Другое дело,как там остатки хранятся. |
|||
4
geminisf
12.06.20
✎
16:09
|
(1) Вот и хотелось бы про эти "веселости" заранее узнать и понять можно ли ими воспользоваться или опять писать своё.
(2) Да запросы и я писать умею. Хочется понять стоит ли писать, если всё уже есть. (3) Остатки хранятся в регистре "ОстаткиАлкогольнойПродукцииЕГАИС" |
|||
5
H A D G E H O G s
12.06.20
✎
16:15
|
(4) Чтобы было понимание, вот примерная процедура загрузки марок в ТТН ЕГАИС
Функция ЗагрузитьАкцизныеМаркиВДокумент(ДокументСМарками, ТаблицаРезультатаСканирования, ТаблицаОтсутствующихПозиций = Неопределено, ВариантОбработкиРасхождений = Неопределено) СтруктураВозврата = Новый Структура; СтруктураВозврата.Вставить("Результат", Истина); СтруктураВозврата.Вставить("ОписаниеОшибки", ""); СоответствиеСтрокТоваров = Новый Соответствие; Если ТаблицаРезультатаСканирования.Колонки.Найти("РежимСканирования") <> Неопределено Тогда ТаблицаРезультатаСканированияНаОбработку = ТаблицаРезультатаСканирования.Скопировать(); МассивРежимовИсключения = Новый Массив; МассивРежимовИсключения.Добавить(4); МассивРежимовИсключения.Добавить(5); СтрокиНаУдаление = Новый Массив; Для Каждого СтрокаНаПроверку Из ТаблицаРезультатаСканированияНаОбработку Цикл Если МассивРежимовИсключения.Найти(СтрокаНаПроверку.РежимСканирования) <> Неопределено Тогда СтрокиНаУдаление.Добавить(СтрокаНаПроверку); КонецЕсли; КонецЦикла; Для Каждого СтрокаНаУдаление Из СтрокиНаУдаление Цикл ТаблицаРезультатаСканированияНаОбработку.Удалить(СтрокаНаУдаление); КонецЦикла; Иначе ТаблицаРезультатаСканированияНаОбработку = ТаблицаРезультатаСканирования; КонецЕсли; Если АСФОбщегоНазначения.ЭтоСсылка(ДокументСМарками) Тогда ДокументДвиженияМарок = ДокументСМарками.ПолучитьОбъект(); Иначе ДокументДвиженияМарок = ДокументСМарками; КонецЕсли; ТипДокументаСМарками = ТипЗнч(ДокументСМарками); ИмяКолонкиПоиска = "АСФИдентификаторСтроки"; Если АСФОбщегоНазначенияКлиентСервер.ЭтоКонфигурация1ССМодулемПроизводстваКТ2000() И (ТипДокументаСМарками = Тип("ДокументСсылка.алкОтчетОбИмпортеПродукцииЕГАИС") Или ТипДокументаСМарками = Тип("ДокументСсылка.алкОтчетОПроизводствеПродукцииЕГАИС")) Тогда ИмяКолонкиПоиска = "ИдентификаторСтроки"; ИначеЕсли АСФОбщегоНазначенияКлиентСервер.ЭтоКонфигурация1ССМодулемПроизводстваКТ2000() И ТипДокументаСМарками = Тип("ДокументСсылка.ТТНИсходящаяЕГАИС") тогда ИмяКолонкиПоиска = "НомерСтроки"; КонецЕсли; ЭтоУчетныйДокумент = АСФОбщегоНазначенияКлиентСервер.ЭтоДокументУчета(ТипДокументаСМарками); Если ЭтоУчетныйДокумент Тогда ИсточникМарок = РегистрыСведений.АСФМаркиУпаковкиУчетныхДокументов.СоздатьНаборЗаписей().ВыгрузитьКолонки(); Иначе ИсточникМарок = ДокументДвиженияМарок.АкцизныеМарки; КонецЕсли; ИсточникМарок.Очистить(); // Элементы типового справочника ШтрихкодыУпаковокТоваров и их иерархия рождаются именно здесь. СоответствиеШтрихкодовМарокУпаковок = АСФПодсистемаТСД1С.ПолучитьШтрихкодыМарокУпаковок(ТаблицаРезультатаСканированияНаОбработку, Истина,, ДокументДвиженияМарок.Дата); Если СоответствиеШтрихкодовМарокУпаковок = Неопределено Тогда СтруктураВозврата.Результат = Ложь; СтруктураВозврата.Вставить("ОписаниеОшибки", "Не удалось сгенерировать элементы справочника ""ШтрихкодыУпаковокТоваров"" (см. журнал регистрации)"); КонецЕсли; Если ЭтоУчетныйДокумент Тогда СоответствиеНомеровМарок = Новый Соответствие; Для Каждого СтрокаМарок Из ТаблицаРезультатаСканированияНаОбработку Цикл Если Не АСФОбщегоНазначенияКлиентСервер.ЭтоШтрихкодМарки(СтрокаМарок.МаркаPDF417) Тогда Продолжить; КонецЕсли; СтрокаТоваров = СоответствиеСтрокТоваров.Получить(СтрокаМарок.НомерСтрокиДокумента); Если СтрокаТоваров = Неопределено Тогда Если ТипЗнч(СтрокаМарок.НомерСтрокиДокумента) = Тип("Строка") Тогда ИмяКолонкиПоиска = "ИдентификаторСтроки"; КонецЕсли; СтрокаТоваров = ДокументДвиженияМарок.Товары.Найти(СтрокаМарок.НомерСтрокиДокумента, ИмяКолонкиПоиска); Если СтрокаТоваров = Неопределено Тогда СтруктураВозврата.Результат = Ложь; СтруктураВозврата.Вставить("ОписаниеОшибки", "Для идентификатора строки " + Строка(СтрокаМарок.НомерСтрокиДокумента) + " не найдена строка товаров в документе " + Строка(ДокументДвиженияМарок)); Возврат СтруктураВозврата; КонецЕсли; СоответствиеСтрокТоваров.Вставить(СтрокаМарок.НомерСтрокиДокумента, СтрокаТоваров); КонецЕсли; НоваяСтрока = ИсточникМарок.Добавить(); НоваяСтрока.Документ = ДокументСМарками; НоваяСтрока.МаркаPDF417 = СтрокаМарок.МаркаPDF417Ссылка; НоваяСтрока.НомерСтрокиДокумента = СтрокаМарок.НомерСтрокиДокумента; ПорядковыйНомерМарки = СоответствиеНомеровМарок.Получить(СтрокаМарок.НомерСтрокиДокумента); Если ПорядковыйНомерМарки = Неопределено Тогда ПорядковыйНомерМарки = 0; КонецЕсли; ПорядковыйНомерМарки = ПорядковыйНомерМарки + 1; СоответствиеНомеровМарок.Вставить(СтрокаМарок.НомерСтрокиДокумента, ПорядковыйНомерМарки); НоваяСтрока.ПорядковыйНомерМарки = ПорядковыйНомерМарки; НоваяСтрока.Упаковка = СтрокаМарок.УпаковкаСсылка; КонецЦикла; Иначе ЭтоВходящаяТТН = ТипЗнч(ДокументДвиженияМарок.Ссылка) = Тип("ДокументСсылка.ТТНВходящаяЕГАИС"); // Данные проверки и подбора имеют значение только для входящих ТТН. Для прочих документов они благополучно зачищаются перед записью документов. Если ЭтоВходящаяТТН Тогда СтруктураДанныеПроверкиИПодбора = ДокументДвиженияМарок.ДанныеПроверкиИПодбора.Получить(); Если СтруктураДанныеПроверкиИПодбора = Неопределено Тогда ДеревоУпаковок=Документы.ТТНВходящаяЕГАИС.ВходящееДеревоУпаковок(ДокументДвиженияМарок.Ссылка).ДеревоУпаковок; ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"СтатусПроверки"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ПредставлениеПроверкиПодчиненных"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"КоличествоПодчиненныхУпаковок"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"КоличествоПодчиненныхВНаличии"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"КоличествоПодчиненныхОтсутствует"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ВсяУпаковкаПроверена"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ИндексКартинкиШтрихкод"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ИндексКартинкиСтатусПроверки"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ТребуетсяПеремаркировка"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"Представление"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ПредставлениеСодержимоеУпаковки"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"КоличествоПодчиненныхОтложено"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"КоличествоПодчиненныхБутылок"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"НомерСтикераОтложено"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"НеСодержитсяВДанныхДокумента"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"НеСоответствуетОтбору"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ШтрихкодУпаковкиПоДаннымДокумента"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ИдетПроверкаДаннойУпаковки"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"КоличествоПодчиненныхНеЧислилось"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"КоличествоПодчиненныхНеПроверялось"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"КоличествоПодчиненныхВсего"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ХешСумма"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ИдентификаторСтроки"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ВУпаковкеРазныеСерии"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ВУпаковкеРазнаяНоменклатура"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ВУпаковкеРазныеХарактеристики"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ВУпаковкеРазнаяАлкогольнаяПродукция"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ВУпаковкеРазныеСправки2"); ДобавитьКолонкуПриНеобходимости(ДеревоУпаковок,"ВсеСправки2Указаны"); АлкогольнаяПродукцияКОпределениюСправок2=Новый ДеревоЗначений; АлкогольнаяПродукцияКОпределениюСправок2.Колонки.Добавить("Номенклатура"); АлкогольнаяПродукцияКОпределениюСправок2.Колонки.Добавить("Характеристика"); АлкогольнаяПродукцияКОпределениюСправок2.Колонки.Добавить("Серия"); АлкогольнаяПродукцияКОпределениюСправок2.Колонки.Добавить("АлкогольнаяПродукция"); АлкогольнаяПродукцияКОпределениюСправок2.Колонки.Добавить("Справка2"); АлкогольнаяПродукцияКОпределениюСправок2.Колонки.Добавить("Количество"); АлкогольнаяПродукцияКОпределениюСправок2.Колонки.Добавить("КоличествоРаспределено"); АлкогольнаяПродукцияКОпределениюСправок2.Колонки.Добавить("Маркируемая"); АлкогольнаяПродукцияКОпределениюСправок2.Колонки.Добавить("ИндексАкцизнойМарки"); ПулНеизвестныхАкцизныхМарок=Новый ТаблицаЗначений; ПулНеизвестныхАкцизныхМарок.Колонки.Добавить("АлкогольнаяПродукция"); ПулНеизвестныхАкцизныхМарок.Колонки.Добавить("Справка2"); ПулНеизвестныхАкцизныхМарок.Колонки.Добавить("Количество"); ТаблицаНеМаркируемойПродукции=Новый ТаблицаЗначений; ТаблицаНеМаркируемойПродукции.Колонки.Добавить("АлкогольнаяПродукция"); ТаблицаНеМаркируемойПродукции.Колонки.Добавить("КоличествоПоДокументу"); ТаблицаНеМаркируемойПродукции.Колонки.Добавить("КоличествоФактическое"); ТаблицаНеМаркируемойПродукции.Колонки.Добавить("Справка2"); УпаковкиДокумента=Новый СписокЗначений; ДобавленныеУпаковки=Новый СписокЗначений; ДоступныеДляПроверкиУпаковки=Новый СписокЗначений; СледующийСтикерОтложено=0; СтруктураДанныеПроверкиИПодбора=Новый Структура; СтруктураДанныеПроверкиИПодбора.Вставить("ДеревоМаркированнойПродукции",ДеревоУпаковок); СтруктураДанныеПроверкиИПодбора.Вставить("АлкогольнаяПродукцияКОпределениюСправок2",АлкогольнаяПродукцияКОпределениюСправок2); СтруктураДанныеПроверкиИПодбора.Вставить("ПулНеизвестныхАкцизныхМарок",ПулНеизвестныхАкцизныхМарок); СтруктураДанныеПроверкиИПодбора.Вставить("ТаблицаНеМаркируемойПродукции",ТаблицаНеМаркируемойПродукции); СтруктураДанныеПроверкиИПодбора.Вставить("УпаковкиДокумента",УпаковкиДокумента); СтруктураДанныеПроверкиИПодбора.Вставить("ДобавленныеУпаковки",ДобавленныеУпаковки); СтруктураДанныеПроверкиИПодбора.Вставить("ДоступныеДляПроверкиУпаковки",ДоступныеДляПроверкиУпаковки); СтруктураДанныеПроверкиИПодбора.Вставить("СледующийСтикерОтложено",СледующийСтикерОтложено); СтруктураДанныеПроверкиИПодбора.Вставить("ШтрихкодТекущейПроверяемойУпаковки",""); СтруктураДанныеПроверкиИПодбора.Вставить("ДанныеРанееСгенерированныхШтрихкодов",Неопределено); СтруктураДанныеПроверкиИПодбора.Вставить("ШтрихкодТекущейПроверяемойУпаковки",""); СтруктураДанныеПроверкиИПодбора.Вставить("СохраненВыборПоАлкогольнойПродукции",Ложь); КонецЕсли; ДеревоМаркированнойПродукции=СтруктураДанныеПроверкиИПодбора.ДеревоМаркированнойПродукции; СоотвествиеКодовИШтрихкодов=Новый Соответствие; Если ВариантОбработкиРасхождений="АктРасхождения" И ЗначениеЗаполнено(ТаблицаОтсутствующихПозиций) Тогда Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | ШтрихкодыУпаковокТоваров.Ссылка КАК Ссылка, | ШтрихкодыУпаковокТоваров.ЗначениеШтрихкода КАК ЗначениеШтрихкода |ИЗ | Справочник.ШтрихкодыУпаковокТоваров КАК ШтрихкодыУпаковокТоваров |ГДЕ | ШтрихкодыУпаковокТоваров.ЗначениеШтрихкода В(&ЗначениеШтрихкода)"; Запрос.УстановитьПараметр("ЗначениеШтрихкода",ТаблицаОтсутствующихПозиций.ВыгрузитьКолонку("МаркаPDF417")); Выборка=Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл СоотвествиеКодовИШтрихкодов.Вставить(Выборка.ЗначениеШтрихкода,Выборка.Ссылка); КонецЦикла; КонецЕсли; ДействиеАкта=Перечисления.ДальнейшиеДействияПоВзаимодействиюЕГАИС.ОткажитесьОтНакладной; ДеревоМаркированнойПродукции.Колонки.Добавить("КолонкаДляОбхода",Новый ОписаниеТипов("Булево")); СтруктураПоиска=Новый Структура; СтруктураПоиска.Вставить("КолонкаДляОбхода",Ложь); МассивСтрокДерева=ДеревоМаркированнойПродукции.Строки.НайтиСтроки(СтруктураПоиска,Истина); ДеревоМаркированнойПродукции.Колонки.Удалить("КолонкаДляОбхода"); Для Каждого СтрокаДерева Из МассивСтрокДерева Цикл Если ВариантОбработкиРасхождений="АктПодтверждения" Тогда СтрокаДерева.СтатусПроверки = ПредопределенноеЗначение("Перечисление.СтатусыАкцизныхМарок.ВНаличии"); ДействиеАкта=Перечисления.ДальнейшиеДействияПоВзаимодействиюЕГАИС.ПодтвердитеПолучениеАктПодтверждения; Продолжить; ИначеЕсли ВариантОбработкиРасхождений="АктОтказа" Тогда СтрокаДерева.СтатусПроверки = ПредопределенноеЗначение("Перечисление.СтатусыАкцизныхМарок.Отсутствует"); ДействиеАкта=Перечисления.ДальнейшиеДействияПоВзаимодействиюЕГАИС.ОткажитесьОтНакладной; Продолжить; КонецЕсли; СтрокаТаблицыОтсутствующихПозиций=ТаблицаОтсутствующихПозиций.Найти(СтрокаДерева.ЗначениеШтрихкода,"МаркаPDF417"); Если СтрокаТаблицыОтсутствующихПозиций=Неопределено Тогда СтрокаДерева.СтатусПроверки = ПредопределенноеЗначение("Перечисление.СтатусыАкцизныхМарок.ВНаличии"); ДействиеАкта=Перечисления.ДальнейшиеДействияПоВзаимодействиюЕГАИС.ПодтвердитеПолучениеАктПодтверждения; Иначе ДокументДвиженияМарок.ЕстьРасхождения=Истина; СтрокаДерева.СтатусПроверки = ПредопределенноеЗначение("Перечисление.СтатусыАкцизныхМарок.Отсутствует"); АкцизнаяМарка=СоотвествиеКодовИШтрихкодов.Получить(СтрокаДерева.ЗначениеШтрихкода); Если не ЗначениеЗаполнено(АкцизнаяМарка) Тогда Продолжить; КонецЕсли; МенеджерЗаписи=РегистрыСведений.АкцизныеМаркиЕГАИС.СоздатьМенеджерЗаписи(); МенеджерЗаписи.ОрганизацияЕГАИС=ДокументДвиженияМарок.Грузополучатель; МенеджерЗаписи.АкцизнаяМарка=АкцизнаяМарка; МенеджерЗаписи.Прочитать(); Если МенеджерЗаписи.Выбран() Тогда Попытка МенеджерЗаписи.Удалить(); Исключение КонецПопытки; КонецЕсли; СтрокаТаблицыАкцизныхМарок=ДокументДвиженияМарок.АкцизныеМарки.Найти(АкцизнаяМарка,"АкцизнаяМарка"); Если СтрокаТаблицыАкцизныхМарок<>Неопределено Тогда ДокументДвиженияМарок.АкцизныеМарки.Удалить(СтрокаТаблицыАкцизныхМарок); КонецЕсли; КонецЕсли; КонецЦикла; ДокументДвиженияМарок.ДанныеПроверкиИПодбора = Новый ХранилищеЗначения(СтруктураДанныеПроверкиИПодбора, Новый СжатиеДанных(9)); Иначе ЭтоАктФиксацииШтрихкодовНаБалансе = ТипЗнч(ДокументДвиженияМарок.Ссылка) = Тип("ДокументСсылка.АктПостановкиНаБалансЕГАИС") И АСФОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументДвиженияМарок.Ссылка, "ВидДокумента") = ПредопределенноеЗначение("Перечисление.ВидыДокументовЕГАИС.АктПостановкиНаБалансВРегистр3"); Для Каждого СтрокаМарок Из ТаблицаРезультатаСканированияНаОбработку Цикл Если Не АСФОбщегоНазначенияКлиентСервер.ЭтоШтрихкодМарки(СтрокаМарок.МаркаPDF417) Тогда Продолжить; КонецЕсли; СтрокаТоваров = СоответствиеСтрокТоваров.Получить(СтрокаМарок.НомерСтрокиДокумента); Если СтрокаТоваров = Неопределено Тогда Если ТипЗнч(СтрокаМарок.НомерСтрокиДокумента) = Тип("Строка") Тогда ИмяКолонкиПоиска = "ИдентификаторСтроки"; КонецЕсли; СтрокаТоваров = ДокументДвиженияМарок.Товары.Найти(СтрокаМарок.НомерСтрокиДокумента, ИмяКолонкиПоиска); Если СтрокаТоваров = Неопределено Тогда СтруктураВозврата.Результат = Ложь; СтруктураВозврата.Вставить("ОписаниеОшибки", "Для идентификатора строки " + Строка(СтрокаМарок.НомерСтрокиДокумента) + " не найдена строка товаров в документе " + Строка(ДокументДвиженияМарок)); Возврат СтруктураВозврата; КонецЕсли; СоответствиеСтрокТоваров.Вставить(СтрокаМарок.НомерСтрокиДокумента, СтрокаТоваров); КонецЕсли; СтруктураСправка2 = Новый Структура("Справка2, СправкаБ", Неопределено, Неопределено); ЗаполнитьЗначенияСвойств(СтруктураСправка2, СтрокаМарок); НоваяСтрока = ИсточникМарок.Добавить(); //НоваяСтрока.КодАкцизнойМарки = СтрокаМарок.МаркаPDF417; НоваяСтрока.АкцизнаяМарка = СоответствиеШтрихкодовМарокУпаковок.Получить(СтрокаМарок.МаркаPDF417); НоваяСтрока.ШтрихкодУпаковки = СоответствиеШтрихкодовМарокУпаковок.Получить(СтрокаМарок.Упаковка); НоваяСтрока.ИдентификаторСтроки = СтрокаТоваров.ИдентификаторСтроки; НоваяСтрока.Количество = 1; Если ЭтоАктФиксацииШтрихкодовНаБалансе = Истина Тогда НоваяСтрока.Справка2 = Неопределено; ИначеЕсли ЗначениеЗаполнено(СтруктураСправка2.Справка2) Тогда НоваяСтрока.Справка2 = СтруктураСправка2.Справка2; ИначеЕсли ЗначениеЗаполнено(СтруктураСправка2.СправкаБ) Тогда НоваяСтрока.Справка2 = СтруктураСправка2.СправкаБ; Иначе НоваяСтрока.Справка2 = СтрокаТоваров.Справка2; КонецЕсли; КонецЦикла; КонецЕсли; СтруктураСтатусаПроверкиИПодбора = Новый Структура; ОМ_АСФИнтеграцияЕГАИС1СКлиентСервер = АСФОбщегоНазначенияКлиентСервер.ОбщийМодуль("АСФИнтеграцияЕГАИС1СКлиентСервер"); СтруктураСтатусаПроверкиИПодбора.Вставить("СтатусПроверкиИПодбора", ОМ_АСФИнтеграцияЕГАИС1СКлиентСервер.ПолучитьЗначениеСтатусыПроверкиИПодбораИС("Завершено")); ЗаполнитьЗначенияСвойств(ДокументДвиженияМарок, СтруктураСтатусаПроверкиИПодбора); КонецЕсли; ДокументДвиженияМарок.ДополнительныеСвойства.Вставить("АСФЗакрытиеЗаданийНаСканирование", Истина); Если ЭтоУчетныйДокумент Тогда НаборЗаписей=РегистрыСведений.АСФМаркиУпаковкиУчетныхДокументов.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Документ.Установить(ДокументСМарками); НаборЗаписей.Загрузить(ИсточникМарок); НаборЗаписей.ОбменДанными.Загрузка=Истина; Попытка НаборЗаписей.Записать(Истина); Исключение СтруктураВозврата.Результат=Ложь; СтруктураВозврата.Вставить("ОписаниеОшибки", "Не удалось записать марки документа "+Строка(ДокументСМарками)+" по причине: "+ОписаниеОшибки()); КонецПопытки; РезультатПереноса = ПеренестиМаркиУпаковкиДокументаУчета(ДокументДвиженияМарок); Если РезультатПереноса.Результат = Ложь Тогда АСФОбщегоНазначенияКлиентСервер.СообщитьПользователю("При формировании марок документа " + Строка(ДокументДвиженияМарок) + " не удалось перенести марки учетного документа в документ ЕГАИС по причине: " + РезультатПереноса.ОписаниеОшибки); КонецЕсли; Иначе Если ДокументДвиженияМарок.Проведен Тогда РезультатПроведенияЗаписи = АСФОбщегоНазначения.ВыполнитьПопыткуПроведения(ДокументДвиженияМарок, Ложь, Истина, Ложь); Иначе РезультатПроведенияЗаписи = АСФОбщегоНазначения.ВыполнитьПопыткуЗаписи(ДокументДвиженияМарок, Ложь); КонецЕсли; Если РезультатПроведенияЗаписи.Результат = Ложь Тогда СтруктураВозврата.Результат = Ложь; СтруктураВозврата.Вставить("ОписаниеОшибки", РезультатПроведенияЗаписи.ОписаниеОшибки); КонецЕсли; КонецЕсли; Возврат СтруктураВозврата; КонецФункции Примерная, потому, что структура модулей и данных меняется от релиза к релизу и для архитектора этого чуда уже разогревают отдельный котел. Ну, и если марок будет больше 1000 - велком ту лагворд, там все линейно от количества марок зависит скорость. Это помарочное. Обычный партионный ЕГАИС более толлерантен к человекам. Да и вообще, всегда есть отмазка - это типовая 1С, что вы от меня хотите. Купите лучше нашего слона. |
|||
6
H A D G E H O G s
12.06.20
✎
16:22
|
Наш слон - всем слонам слон.
Наш слон прогнал через себя уже 370 к. марок за 2 недели, при имеющихся на остатке 2 млн на производстве. А на другом отпе около 90 млн за полтора года. |
|||
7
H A D G E H O G s
12.06.20
✎
16:24
|
Ну или купите КТ2000. Они конечно писали как могли помарочное, периодический регистр сведений достаточно печален, но там еще мое партионное ЕГАИС.
Для небольших объемов - вполне более приемлемо, чем типовой ЕГАИС. |
|||
8
geminisf
12.06.20
✎
16:31
|
(6) Как же зовут этого замечательного слона
|
|||
9
H A D G E H O G s
12.06.20
✎
16:36
|
||||
10
geminisf
12.06.20
✎
16:39
|
(9) Спасибо. Буду иметь ввиду.
|
|||
11
ДедМорроз
12.06.20
✎
23:36
|
Внезапно: марку можно преобразовать в гуид,при этом,правда,теряется уникальность,но скорость поиска вас очень поразит.
|
|||
12
Ёпрст
13.06.20
✎
00:20
|
(9) как то уже внедрена и еще внедряется совпадает..печаль
|
|||
13
H A D G E H O G s
13.06.20
✎
12:12
|
(12) не понял посыла
(11) поиск марки не проблема, проблема протащить марки по учёту. Будет проблема поиска - обрежем криптохвост. |
|||
14
ДедМорроз
13.06.20
✎
12:43
|
(13) ну а в чем проблема по учёту?
Их же нужно найти и состояние поменять,чего сложного?гуид и число в измерениях,а в ресурсах уже что хотим. |
|||
15
Ёпрст
13.06.20
✎
12:58
|
(13) да на сайте "Уже внедрена" и "еще внедряется" одинаковые конторы..
какая-то неувязочка. Напишите, что в филиалах внедрение идёт, ну или еще чего |
|||
16
H A D G E H O G s
13.06.20
✎
15:24
|
(15) Спасибо, проверим.
|
|||
17
H A D G E H O G s
13.06.20
✎
15:26
|
(14) Такая себе идея.
|
|||
18
kauksi
13.06.20
✎
17:35
|
(15) У нас внедряется...
(17) ждем очередной патч |
|||
19
Ёпрст
15.06.20
✎
00:04
|
(17) Это.. розницу то тоже автоматизируете ?
И.. как там со старой маркой и переходом на поштучный учет ? Всякие актфиксбаркоде сделали ? Есть возможность отправки старой марки без марки, частично с маркой и т.д.. ? |
|||
20
H A D G E H O G s
15.06.20
✎
00:21
|
(19) Розницу - нет. Розница - это кассовое, такого счастья не надо.
актфиксбаркод под заказ, либо просто произвольно, не вижу проблем. |
|||
21
Ёпрст
15.06.20
✎
04:39
|
(20) ну..тикеты по заявленному пересорту хотя бы ловите? В типовых с этим беда, кт-ники тоже не доделали ( по крайней мере в той конфе, что видел, в каком то утапе). А это важно, чтоб не думать ротом через 90 дней, чего справка б заблокирована)
Ну и полный переход с 1 ноября и учет старых останков помарочно..как бэ обязывает доки фиксации о марок влепить в основную конфу, имхо. Зы: запросы останков мини есть? Смотрю, во всех конфах их нема, ни в типовых 1с, ни у кт, ни в штрихк ни в далионе..не знают, шо ле?) |
|||
22
victuan1
15.06.20
✎
05:32
|
(21) Блин, у меня в 7.7 всё это давно уже реализовано. А в 1с8, даже в УТАПе нет? 8-)
|
|||
23
Ёпрст
15.06.20
✎
07:16
|
(22) нету)). У меня тоже давно реализовано. Кто пишет все сам, у того давно все есть. А в типовых/отраслевых, беда-печаль. Приходится сталкиваться с базами клиентов, смотреть, как реализован учет у них-ну и как обычно, кто в лес, кто по дрова.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |