|
ТЗ Свернуть(). Я что-то не понимаю, метод Свернуть? | ☑ | ||
---|---|---|---|---|
0
егаис
25.10.16
✎
21:04
|
Функция ПолучитьДанные(ПолучениеДанныхИзОбработки = Ложь, НомерТаблицы = 8, СоздаватьХарактеристики = Ложь, СписокИД = Неопределено) Экспорт
Если ТСД.КодМодели = "ATOLMLD" Тогда ТаблицаТоваров = ПолучитьДанныеИзТСДАТОЛМЛ(ПолучениеДанныхИзОбработки, НомерТаблицы, СоздаватьХарактеристики, СписокИД); ИначеЕсли ТСД.КодМодели = "ATOLMLDDOS" Тогда Если НомерТаблицы = 8 Тогда НомерТаблицы = 3; КонецЕсли; ТаблицаТоваров = ПолучитьДанныеИзТСДАТОЛМЛДОС(ПолучениеДанныхИзОбработки, НомерТаблицы, СписокИД); ИначеЕсли ТСД.КодМодели = "CLV_MBS" Тогда ДиалогФыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогФыбораФайла.Фильтр = "Таблиа (*.csv)|*.csv"; ДиалогФыбораФайла.Заголовок = "Выберите файл"; ДиалогФыбораФайла.ПредварительныйПросмотр = Истина; ДиалогФыбораФайла.ИндексФильтра = 0; Если ДиалогФыбораФайла.Выбрать() Тогда ПолноеИмяФайла = ДиалогФыбораФайла.ПолноеИмяФайла; ТаблицаТоваров = Новый ТаблицаЗначений; ТаблицаТоваров.Колонки.Добавить("ШтрихКод" , Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(60))); ТаблицаТоваров.Колонки.Добавить("АлкоКод" , Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(20))); ТаблицаТоваров.Колонки.Добавить("АкцизнаяМарка" , Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(100))); ТаблицаТоваров.Колонки.Добавить("СерияНомер" , Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(70))); ТаблицаТоваров.Колонки.Добавить("Номенклатура" , Новый ОписаниеТипов("СправочникСсылка.ЕГАИС_Номенклатура")); ТаблицаТоваров.Колонки.Добавить("НоменклатураУчет", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ТаблицаТоваров.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры")); ТаблицаТоваров.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения")); ТаблицаТоваров.Колонки.Добавить("Количество" , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3))); //обработаем файл ЗагружаемыйФайл = Новый ТекстовыйДокумент; ЗагружаемыйФайл.Прочитать(ПолноеИмяФайла); Для НомерСтроки = 2 по ЗагружаемыйФайл.КоличествоСтрок() Цикл Состояние("Обрабатывается "+Строка(Формат(?(ЗагружаемыйФайл.КоличествоСтрок()=0,0,((100*НомерСтроки)/ ЗагружаемыйФайл.КоличествоСтрок())),"ЧЦ=3; ЧДЦ=0"))+" %"); ОбработкаПрерыванияПользователя(); //указав данный оператор, цикл можно прервать в любой момент нажатие ctrl+break // получить стрoку с указанным номером и преобразуем её в массив Строка = ЗагружаемыйФайл.ПолучитьСтроку(НомерСтроки); МассивЗначений = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Строка,";");// процедура из типовой конфигурации, разбивает строку в массив по разделителям //проверим номенклатуру ШтрихКод = МассивЗначений[0]; АлкоКод = МассивЗначений[13]; ТаблицаНоменклатурыУчет = НайтиТоварПоШтрихкоду(ШтрихКод); Если ТаблицаНоменклатурыУчет.Количество() > 1 Тогда Сообщить("По штрих коду: " + ШтрихКод + ", найдено более одной позиции! Внесите изменения вручную!"); Продолжить; КонецЕсли; НоменклатураУчет = ТаблицаНоменклатурыУчет[0].Номенклатура; НоменклатураЕГАИСИзТСД = Справочники.ЕГАИС_Номенклатура.НайтиПоКоду(АлкоКод); //проверка на наличие соответсвия ТаблицаНоменклатурыЕГАИС = ОбменУТМ.ПолучитьНоменклатуруЕГАИСПоНоменклатура(НоменклатураУчет); НайденнаяСтрока = ТаблицаНоменклатурыЕГАИС.Найти(НоменклатураЕГАИСИзТСД, "ЕГАИС_Номенклатура"); Если НайденнаяСтрока = Неопределено Тогда Сообщить("Отсутствует соответствие между товаром " + НоменклатураУчет + " и алкокодом " + АлкоКод + "! Внесите изменения вручную!"); Продолжить; КонецЕсли; НоваяСтрока = ТаблицаТоваров.Добавить(); НоваяСтрока.ШтрихКод = ШтрихКод; НоваяСтрока.АлкоКод = АлкоКод; НоваяСтрока.АкцизнаяМарка = МассивЗначений[14]; НоваяСтрока.СерияНомер = МассивЗначений[15]; НоваяСтрока.ХарактеристикаНоменклатуры = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка(); НоваяСтрока.Номенклатура = НоменклатураЕГАИСИзТСД; НоваяСтрока.НоменклатураУчет = НоменклатураУчет; НоваяСтрока.ЕдиницаИзмерения = НоменклатураУчет.БазоваяЕдиницаИзмерения; НоваяСтрока.Количество = Число(МассивЗначений[6]); КонецЦикла; КонецЕсли; Иначе ТаблицаТоваров = ПолучитьДанныеИзТСД(ПолучениеДанныхИзОбработки); КонецЕсли; Возврат ТаблицаТоваров; КонецФункции При определенных условиях необходимо свернуть таблицу ТаблицаТоваров.Свернуть("Номенклатура", "Количество"); Получаем ТаблицаТоваров.свернуть("Номенклатура", "Количество") {(1)}: Обращение к процедуре объекта как к функции (свернуть) Что за нафиг? |
|||
1
егаис
25.10.16
✎
21:06
|
рабочий блок после
ИначеЕсли ТСД.КодМодели = "CLV_MBS" Тогда |
|||
2
Мимохожий Однако
25.10.16
✎
21:07
|
Буква С латинская? )) Отладчик что показывает?
|
|||
3
егаис
25.10.16
✎
21:08
|
да нифига, все верно.
отладчик и показывает ошибку |
|||
4
Artful Den
25.10.16
✎
21:12
|
ТЗ1 = ТаблицаТоваров.Скопировать();
ТЗ1.Свернуть("Номенклатура", "Количество"); ? |
|||
5
Сияющий Асинхраль
25.10.16
✎
21:13
|
Проверь для начала, что ТаблицаТоваров - это на самом деле таблица значений, скорее всего, при каких-то условиях у тебя делается, что-то отличное от ТЗ
|
|||
6
егаис
25.10.16
✎
21:20
|
||||
7
егаис
25.10.16
✎
21:20
|
эпик
|
|||
8
Сияющий Асинхраль
25.10.16
✎
21:23
|
(6) Показал бы тогда и колонки ТЗ
|
|||
9
ВРедная
25.10.16
✎
21:24
|
Вот тут
МассивЗначений = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Строка,";")// процедура из типовой конфигурации, разбивает строку в массив по разделителям Действительно нет точки с запятой в конце? |
|||
10
ВРедная
25.10.16
✎
21:25
|
Ощущение, что у тебя где-то присваивание не завершилось...
|
|||
11
егаис
25.10.16
✎
21:30
|
Начинаю верить в чудеса...
Перегрузил конфигуратор, теперь не падает с ошибкой, все сворачивается, но тем не менее если написать в отладке свернуть, пишет ошибку. |
|||
12
КнОпка
25.10.16
✎
21:32
|
(11) а ТЗ.количество() что говорит?
похоже кеш пора чистить. это не чудеса а проделки лешего)) |
|||
13
Cyberhawk
25.10.16
✎
21:34
|
Автор дятел? Метод "Свернуть" для ТЗ - это процедура, а не функция. Через табло выполнять процедуры нельзя.
|
|||
14
егаис
25.10.16
✎
21:35
|
(13) точно, спасибо, добрый человек
|
|||
15
Cyberhawk
25.10.16
✎
21:38
|
(14) Заработался?
|
|||
16
КнОпка
25.10.16
✎
21:39
|
(13) у него и при выполнении кода ошибка выходит
|
|||
17
Cyberhawk
25.10.16
✎
21:42
|
(16) Гонишь, давай пруф
|
|||
18
КнОпка
25.10.16
✎
21:50
|
(17) на картинке в (6)
Не знаю только зачем стоп поставил на этой строке и начал проверять код в табло)) |
|||
19
Cyberhawk
25.10.16
✎
22:10
|
(18) Ты видишь то, что хочешь видеть. Кончай вещества принимать.
|
|||
20
bolder
25.10.16
✎
23:11
|
(18) На картинке - ошибка в ТАБЛО а не в коде.Первоклассники))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |