|
v7: Один и тот же код не работает на некоторых компьютерах | ☑ | ||
---|---|---|---|---|
0
Mafiozaa
03.03.21
✎
02:30
|
Доброго времени суток, суть проблемы: есть написанный документ, у меня работает в тестовой базе все корректно все хорошо, обновляю боевую базу, тот для кого этот документ создавался, сегодня работает все хорошо, завтра заходит у него Поле Агрегатного объекта не обнаружено. Повторюсь
01.03.21 - У него работает все как должно 02.03.21 - Не работает как должно (при этом ничего не изменялось) 03.03.21 - Заного скидываю свой мдшник (рабочий) обновляю, при объеденении, изменения кода не было Куда смотреть куда копать?) |
|||
1
Mafiozaa
03.03.21
✎
02:34
|
Код для наглядности:
Перем ИмяФайла, КаталогФайла; Перем НомерУПД; Перем ТЗКоды, ТЗШкоды; Перем ТекущаяПозиция; Перем ПризнакУчастника, ФорматДата; Перем Штрихкод; Процедура ПриОткрытии(); КонецПроцедуры Функция ЗаполнениеПоДокументуОснованию() Если ДокОснование.Выбран()=0 Тогда Возврат "Документ - основание не выбран!"; КонецЕсли; ТаблицаДокумента = СоздатьОбъект("ТаблицаЗначений"); ДокОснование.ВыгрузитьТабличнуюЧасть(ТаблицаДокумента); // очищаем наш документ УдалитьСтроки(); СпрМ = СоздатьОбъект("Справочник.НоменклатураМаркировка"); СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура"); ТаблицаДокумента.ВыбратьСтроки(); Пока ТаблицаДокумента.ПолучитьСтроку()=1 Цикл Для инд = 1 По ТаблицаДокумента.Количество Цикл Если СпрМ.НайтиПоКоду(ТаблицаДокумента.Номенклатура.Код) = 1 Тогда НоваяСтрока(); Номенклатура = ТаблицаДокумента.Номенклатура; КодТовара = СокрЛП(ТаблицаДокумента.Номенклатура.БазоваяЕдиница.ШтрихКод); Цена = ТаблицаДокумента.Цена; СтавкаНДС = ТаблицаДокумента.СтавкаНДС; СуммаНДС = Цена * (0.2); КонецЕсли; КонецЦикла; КонецЦикла; // по строкам основания Если КоличествоСтрок() = 0 Тогда Сообщить("Товар в заявке не является маркированным, убедитесь что товар данной заявки существует в справочнике маркировка."); КонецЕсли; Если ТаблицаДокумента.КоличествоСтрок() = 0 Тогда Сообщить("В документе основании не заполнена табличная часть"); КонецЕсли; ТЗШкоды = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(ТЗШкоды); Возврат ""; КонецФункции // ЗаполнениеПоДокументуОснованию() Процедура ВводНаОсновании(ДокОсн) ДокОснование = ДокОсн; Фирма = ДокОсн.Фирма; Контрагент = ДокОсн.Контрагент; Автор = ДокОсн.Автор; ЗаполнениеПоДокументуОснованию(); НашИНН = ДокОсн.Фирма.ЮрЛицо.ИНН; КонтрИНН = Контрагент.ЮрФизЛицо.ИНН; ПризнакУчастника = ДокОсн.ПризнакУчастника; Если ПризнакУчастника = 1 Тогда ПризнакУчастника = "Да"; Иначе ПризнакУчастника = "Нет"; КонецЕсли; ФорматДата = Формат(ТекущаяДата(), "ДДДММГГГГ"); КонецПроцедуры Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные) // Процедура разбирает штрих-код, считанный сканером // и заполняет строки накладной Перем Упаковка,ТекКоличество, Спецификация; Перем ВремТовар, ВремЕдиница, ВремКоличество, ВремЦена; Перем СтрокаВозврЦена; Если Событие = "BarCodeValue" Тогда Штрихкод = СокрЛП(Данные); стр = 0; Если глПолучитьТоварПоШтрихкоду(Штрихкод, ВремТовар, ВремЕдиница, ВремКоличество) = 1 Тогда Если ТЗШКоды.НайтиЗначение(ВремТовар, стр, "Номенклатура") = 1 Тогда; АктивизироватьСтроку(стр); Для стр = 0 По КоличествоСтрок() Цикл ПолучитьСтрокуПоНомеру(стр); Если (ПустоеЗначение(КодМаркировки) = 0) И (ВремТовар = Номенклатура) Тогда АктивизироватьСтроку(стр + 1); КонецЕсли; КонецЦикла; КонецЕсли; Иначе ИтогТЗ = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(ИтогТЗ); Если ИтогТЗ.НайтиЗначение(Штрихкод, стр, "КодМаркировки") = 1 Тогда Предупреждение("Данный код маркировки, уже был проверен, просканируйте следующий код маркировки"); Иначе КодМаркировки = Штрихкод; КонецЕсли; КонецЕсли; глСканерПосылкаДанных(1); Иначе глОбработкаВнешнегоСобытия(Источник, Событие, Данные); КонецЕсли; КонецПроцедуры // ОбработкаВнешнегоСобытия() Процедура Открыть() ТЗКоды = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(ТЗКоды); ИмяФайла = "Отгрузка.csv"; КаталогФайла = "\\Server4\Обменник\ОтгрузкаМаркировка\"; ПолноеНаименованиеФайла = КаталогФайла + ИмяФайла; РабочийСтол = "C:\Users\Dmitriy\Desktop\"; НомерУПД = 123; Файл = СоздатьОбъект("Текст"); Файл.ДобавитьСтроку("ИНН отправителя,ИНН получателя,ИНН собственника,Дата передачи товара,Номер первичного документа,Дата первичного документа,Вид оборота товаров,Причина вывода из оборота, Дата вывода из оборота,Идентификатор гос.контракта,Отгрузка неучастнику,Версия"); Файл.ДобавитьСтроку(НашИНН + "," + КонтрИНН + "," + НашИНН + "," + ФорматДата + "," + НомерУПД + "," + ФорматДата + "," + "Продажа" + ",,,," + ПризнакУчастника + "," + "4"); Файл.ДобавитьСтроку("Параметры товаров"); Файл.ДобавитьСтроку("КИ,КИТУ,Цена за единицу,Сумма НДС"); Для А = 1 По ТЗКоды.КоличествоСтрок() Цикл ПолучитьСтрокуПоНомеру(А); ТЗКоды.ПолучитьСтрокуПоНомеру(А); SGTIN = Сред(ТЗКоды.КодМаркировки, 1, 31); НайденныйСимвол = Найти(SGTIN, """"); Файл.ДобавитьСтроку("""" + СтрЗаменить(СокрЛП(SGTIN),"""","""""") + """" + ",," + Цена + "," + СуммаНДС); КонецЦикла; Попытка Файл.Записать("\\Server4\Обменник\ОтгрузкаМаркировка\Отгрузка.csv"); Если ФС.ВыбратьФайл(0,ИмяФайла,КаталогФайла,,"Все файлы (*.csv) |*.csv")=1 Тогда ЗапуститьПриложение("notepad.exe" + " " + ПолноеНаименованиеФайла);; КонецЕсли; //ФС.КопироватьФайл(ПолноеНаименованиеФайла,РабочийСтол, 1); //ФС.УдалитьФайл(ПолноеНаименованиеФайла); Исключение Предупреждение("Файл не сформирован! Проверьте правильность наполнения таблицы"); КонецПопытки КонецПроцедуры Процедура Записать() Записать(); КонецПроцедуры Ругает вот эту строку ТЗШКоды.НайтиЗначение(ВремТовар, стр, "Номенклатура") |
|||
2
dedmoroz777
03.03.21
✎
04:21
|
У тебя ТЗШкоды создается если только документ введен на основании. Иначе это не тз вовсе.
|
|||
3
Mafiozaa
03.03.21
✎
04:28
|
(2) Воот оно в чем дело, Михалыч, да он запускает не с основания, а просто записанный, все понял. спасибо)
|
|||
4
Злопчинский
03.03.21
✎
21:12
|
(1) внезапно дело не в компах а в кривых руках... ;-)
|
|||
5
victuan1
04.03.21
✎
04:50
|
(4) Так ты все темы ТС почитай. Они все ведут к твоему выводу про "руки".
|
|||
6
Mafiozaa
04.03.21
✎
05:00
|
(5) (4) Ребят, ну я же не спорил что в моих руках дело, просто странно для меня было, когда вчера человек работал все хорошо, а сегодня звонит и говорит что что то не то
|
|||
7
Mafiozaa
04.03.21
✎
05:08
|
(5) Ну извини, что я в 1с не столько, сколько ты на этом форуме
|
|||
8
Mikeware
04.03.21
✎
08:21
|
(7) "Плох тот чайник, который не мечтает стать самоваром"©
|
|||
9
Kigo_Kigo
04.03.21
✎
08:43
|
(8) Да не, скорее, не ошибается тот, кто ничего не делает...
|
|||
10
MWWRuza
гуру
04.03.21
✎
09:53
|
Не, ну человек ошибку понял, после первой подсказки.
Значит не даром написал, думаю, на будущее будет внимательнее, и такого больше не напишет. На ошибках учатся, все когда-то начинали.... |
|||
11
Mikeware
04.03.21
✎
10:20
|
(9) и это тоже.
Но просто "время" - это далеко не критерий (доказано Мыколой Балановым, Юлией Борщ (уж простите, забыл все их ники), Мисти, и незабвенным falselight). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |