[ОТВЕТИТЬ]
15.02.2016 18:25
Tigra_N
 
Знаю, что открывал тему, но ее закрыли из-за того, что я нарушил правила форума. Прошу прощения у модераторов и участников форума, я не со зла. Надеюсь, больше не повторится! Почему "надеюсь"? Потому, что я даже не знал о таком правиле.


Снова опишу проблему, надеюсь отзоветесь:

Мой терминал работает на Windows CE. Для нее написана программа сбора данных на базе Superkit, которая выгружает/загружает файл формата CSV. Файл Импорта (входной) , формат файла – CSV, разделитель «;» Имя по-умолчанию SCANIN.DAT , путь к файлу настраивается в программе.

Структура файла следующая:
P;8594404110110;&#1358;&#1377;&#1414;&#1388;&#1387; &#1331;&#1408;&#1377;&#1398;&#1380; &#1364;&#1381;&#1398;&#1380;&#1387; &#1348;&#1400;&#1410;-&#1348;&#1400;&#1410; &#1391;&#1379;;0;1;4605664000197;;шт //<ШТРИХКОД> - максимально 64 символа; <НАЗВАНИЕ> - максимально 128 символов, сейчас
назавание на армянском; <ЦЕНА> - CURRENCY, разделитель целой и дробной части «.»; <КОЛИЧЕСТВО> - FLOAT; <ССЫЛОЧНЫЙ ШК ДЛЯ ГРУППОВЫХ ТОВАРОВ> - максимально 64 символа, последнее значение не используется, но должно присутствовать; ;;кг - нет описания, но без этого окончания не будет работать.

Файл Экспорта (выходной) , формат файла – CSV, разделитель «;» Имя по-умолчанию SCANOUT.DAT, путь к файлу настраивается в программе.
Структура файла следующая:
P;4820080724322;2.000 //Префикс записи «P»; <ШТРИХКОД> - 64 символа; <КОЛИЧЕСТВО> - FLOAT.

Также выкладываю файл выгрузки конфигурации:
Вложения
Тип файла: zip 1cv8.zip (21.20 Мб, 63 просмотров)
15.02.2016 18:46
KirillHome
 
Zip-архив не читается.

Ладно, фиг бы с ним - скриншотов с конфигуратора будет достаточно.

Собственно, вопросы для начала:
Что такое "штрихкод" в данной конфигурации?
Справочник, регистр сведений? Характеристика товара? Что-то ещё?

Тот же самый вопрос о "Ссылочный шк для групповых товаров".
15.02.2016 18:59
Tigra_N
 
Перезалил файл, у меня на компьютере все открывается.
В конфигурации штрих коды хранятся в регистре сведений (ШтрихкодыНоменклатуры).
Вложения
Тип файла: rar 1cv8.part1.rar (45.00 Мб, 59 просмотров)
Тип файла: rar 1cv8.part2.rar (21.79 Мб, 64 просмотров)
15.02.2016 19:03
Tigra_N
 
Цитата:
KirillHome Тот же самый вопрос о "Ссылочный шк для групповых товаров".
Не имею представления где хранятся значения, но пока этот параметр можно не учитывать.
15.02.2016 19:25
KirillHome
 
Цитата:
Tigra_N Перезалил файл, у меня на компьютере все открывается.
В конфигурации штрих коды хранятся в регистре сведений (ШтрихкодыНоменклатуры).
Скачал, открыл в 1с.
Смотрю.
Если всё будет нормально - завтра к вечеру будет первая редакция выгрузки из 1с.

Я правильно понимаю, что надо будет предусмотреть три режима выгрузки:
1) Все товары
2) Товары определённой группы
3) Просто определённые товары
15.02.2016 20:05
KirillHome
 
Посмотрел на это на всё.

По сути дела, надо изменить чуть-чуть обработку "УправлениеТСД" на то, что бы она не закачивала напрямую данные в ТСД (не считывала напрямую данные из ТСД), а выводила данные в файл или читала из файла.

Вот, к примеру, "кусок для выгрузки"
Код:
	Для Каждого ТекСтрока Из ТаблицаВыгружаемыхТоваров Цикл
		
		Наименование = ТекСтрока.НаименованиеТовара;
		Если НЕ ПустаяСтрока(ТекСтрока.НаименованиеХарактеристики) Тогда
			Наименование = Наименование + " (" + ТекСтрока.НаименованиеХарактеристики + ")";
		КонецЕсли;
		
		Наименование = Лев(Наименование, 39);
		
		НоваяСтрока = Новый Структура;
		
		Если ТекСтрока.ШтрихкодЦифровой Тогда
			Если ТекСтрока.Штрихкод > 99999 Тогда
				ЕстьВесовыеТоварыСДлинойКодаБольше5 = Истина;
				Продолжить;
			Иначе	
				НоваяСтрока.Вставить("Штрихкод", Формат(ТекСтрока.Штрихкод, "ЧЦ=5; ЧВН=; ЧГ="));
			КонецЕсли;
		Иначе 
			НоваяСтрока.Вставить("Штрихкод", ТекСтрока.Штрихкод);
		КонецЕсли;
		
		НоваяСтрока.Вставить("Наименование", Наименование);
		НоваяСтрока.Вставить("Цена", Формат(ТекСтрока.Цена, "ЧДЦ=2; ЧН=0,00; ЧГ="));
		НоваяСтрока.Вставить("Код", ТекСтрока.Код);
		
		Результат.Добавить(НоваяСтрока);
		
	КонецЦикла;
Т.е. выводят - Штрихкод, наименование, цена, код
Нужно добавить остаток (т.к. склад есть - то это не проблема) и убрать код.

Так?
15.02.2016 22:59
Tigra_N
 
Цитата:
KirillHome По сути дела, надо изменить чуть-чуть обработку "УправлениеТСД" на то, что бы она не закачивала напрямую данные в ТСД (не считывала напрямую данные из ТСД), а выводила данные в файл или читала из файла.

Т.е. выводят - Штрихкод, наименование, цена, код
Нужно добавить остаток (т.к. склад есть - то это не проблема) и убрать код.

Так?
да, именно так!
я не программирую, тем более в 1С, поэтому не могу сразу отвечать на вопросы. приходится изучать и отвечать
15.02.2016 23:05
Tigra_N
 
думаю, в обработке УправлениеТСД, надо поменять поле "Модель ТСД" на "Путь к файлу", Категорию цен оставить так же, а поля Контрагент и Склад убрать вообще потому, что они нужны при работе с MobileLogistic, а у нас переписанная SuperKit.

Цитата:
Я правильно понимаю, что надо будет предусмотреть три режима выгрузки:
1) Все товары
2) Товары определённой группы
3) Просто определённые товары
было бы отлично
15.02.2016 23:17
KirillHome
 
Цитата:
Tigra_N да, именно так!
я не программирую, тем более в 1С, поэтому не могу сразу отвечать на вопросы. приходится изучать и отвечать
А вроде несколько месяцев назад собирался
Цитата:
Tigra_N тогда прошу совета по онлайн курсу для сдачи экзамена на 1С Професионал. Желательно бесплатного, можно и с торент трекеров.
16.02.2016 02:09
KirillHome
 
Нулевой вариант (прикреплён)

Нужно проверить, что правильно показывает наименование, цену, остаток.
Никаких проверок пока нет, поэтому:
1) Запускаем через "Файл" - "Открыть"
2) Заполняем поля "Организация", "Склад", "Категория цен"
3) На вкладке "Товары" - "Заполнить" - "Добавить товары по группе", выбираем нужную группу (наверное, можно и все товары - но, думая, это будет медленнее)
По идее - должны получить список товаров выбранной группы с указанными ценами и остатками на выбранном складе.

Если организаций/складов/цен несколько - имеет смысл проверить и на них (пока выбор другого реквизита - Организация, склад, цена - не приводит к правильному перезаполнению табличной части, так что - изменяем реквизиты и выбираем нужную группу, говоря - "Очистить данные").

Если в этой "арифметике" всё верно - пойду дальше (увы, не могу проверить сам. Не удаётся провести документы оприходования - похоже, многое зашито на ключ).
Вложения
Тип файла: zip УправлениеТСДExt.zip (53.8 Кб, 57 просмотров)
16.02.2016 09:18
Tigra_N
 
Огромное тебе спасибо за помощь!
Сейчас все проверю и напишу что получилось.

Цитата:
Не удаётся провести документы оприходования - похоже, многое зашито на ключ).
Если нужно, могу дать доступ по teamviewer к серверу где установлен Далион.
16.02.2016 09:21
KirillHome
 
Цитата:
Tigra_N Если нужно, могу дать доступ по teamviewer к серверу где установлен Далион.
Не, не нужно :)
16.02.2016 09:59
Tigra_N
 
Цитата:
Нужно проверить, что правильно показывает наименование, цену, остаток.
Никаких проверок пока нет, поэтому:
1) Запускаем через "Файл" - "Открыть"
2) Заполняем поля "Организация", "Склад", "Категория цен"
3) На вкладке "Товары" - "Заполнить" - "Добавить товары по группе", выбираем нужную группу (наверное, можно и все товары - но, думая, это будет медленнее)
По идее - должны получить список товаров выбранной группы с указанными ценами и остатками на выбранном складе.
Получил список товаров с ценами и остатками.
16.02.2016 10:12
KirillHome
 
Цитата:
Tigra_N Получил список товаров с ценами и остатками.
И наименования, и цены, и остатки - правильные (те, что должны передаться в терминал)?
16.02.2016 11:11
Tigra_N
 
Цитата:
И наименования, и цены, и остатки - правильные (те, что должны передаться в терминал)?
не совсем понимаю вопрос

выгружать нужно:
префикс(P), штрих-код, наименование, цена (разделитель " . ", количество, ед. измерения

загружать нужно:
префикс(P), штрих-код, количество
16.02.2016 11:12
Tigra_N
 
сейчас выгружаются те данные, которые нужно, все в порядке
16.02.2016 15:39
KirillHome
 
Нулевой вариант, редакция 2 (прикреплён)

Проверок мало, поэтому:
1) Запускаем через "Файл" - "Открыть"
2) Заполняем поля "Организация", "Склад", "Категория цен"
3) На вкладке "Товары" - "Заполнить" - "Добавить товары по группе", выбираем нужную группу (наверное, можно и все товары - но, думая, это будет медленнее)
4) Пробуем менять "Категорию цен" / "Склад" / "Организацию" - по идее должны меняться цены товаров (при изменении "Категории цен") и остатки (при изменении "Организации" или "Склада").
5) Пробуем добавить товар руками - по идее должны подставляться правильные цены и остатки.
6) Когда "зрительно" всё нормально - заполняем поле "Файл выгрузки в ТСД" и нажимаем "Выгрузить данные в файл для ТСД". Смотрим на файл, пытаемся его передать в ТСД.

Что интересно услышать в ответ:
  1. Правильны ли действия при изменений "Категории цен" / "Склада" / "Организации"?
  2. Правильны ли действия при добавлении товара руками?
  3. Т.к. не было указано, в какой кодировке выводить информацию - то я её вывожу в UTF-8. Правильно ли это?
  4. На сколько удачно сформировался выходной файл?
  5. На сколько удачно информация закачалась в ТСД?
Вложения
Тип файла: zip УправлениеТСДExt.zip (51.7 Кб, 60 просмотров)
16.02.2016 18:45
Tigra_N
 
Цитата:
4) Пробуем менять "Категорию цен" / "Склад" / "Организацию" - по идее должны меняться цены товаров (при изменении "Категории цен") и остатки (при изменении "Организации" или "Склада").
меняются цены и остатки при изменении "Категории цен" / "Склада" / "Организации"

Цитата:
Пробуем добавить товар руками - по идее должны подставляться правильные цены и остатки.
подставляются правильные цены и остатки

Цитата:
Когда "зрительно" всё нормально - заполняем поле "Файл выгрузки в ТСД" и нажимаем "Выгрузить данные в файл для ТСД". Смотрим на файл, пытаемся его передать в ТСД.
Цитата:
На сколько удачно сформировался выходной файл?
Зрительно все нормально, но в файле создаются две позиции одной номенклатуры. выкладываю файл, смотри последние 8 пунктов. в самом конце ед. измерения у всех "шт", думаю не совсем правильно.

Цитата:
Т.к. не было указано, в какой кодировке выводить информацию - то я её вывожу в UTF-8. Правильно ли это?
с кодировкой все в порядке, армянские название товара отображаются, все правильно.
Цитата:
На сколько удачно информация закачалась в ТСД?
в ТСД не смог закачать напрямую, думаю проблема в полном пути (This PC\Dolphin 6500\\\My Documents), 1С не понимает его.
16.02.2016 19:02
Tigra_N
 
Забыл сказать!
Не заполняются остатки и цены при подборе.
16.02.2016 19:12
KirillHome
 
Цитата:
Tigra_N Зрительно все нормально, но в файле создаются две позиции одной номенклатуры. выкладываю файл, смотри последние 8 пунктов. в самом конце ед. измерения у всех "шт", думаю не совсем правильно.
  1. Если у номенклатуры несколько штрихкодов - то будет и несколько позиций. Это правильная логика.
  2. Да, я не стал пока морочить себе голову с единицами измерения, поэтому всюду "шт"
  3. А где, собственно, файл? :)

Цитата:
Tigra_N в ТСД не смог закачать напрямую, думаю проблема в полном пути (This PC\Dolphin 6500\\\My Documents), 1С не понимает его.
А причём здесь 1с?
Файл сформирован по тому пути, который мы указали в обработке.
Дальше уже этот файл должна подхватывать какая-то другая программа. Ведь раньше ты писал:
Цитата:
Tigra_N Второй проблемой является выгрузка/загрузка данных из терминала сбора данных. Мой терминал работает на Windows CE. Для нее написана программа сбора данных на базе Superkit, которая выгружает/загружает файл формата CSV. Файл Импорта (входной) , формат файла – CSV, разделитель «;» Имя по-умолчанию SCANIN.DAT , путь к файлу настраивается в программе.
Так что расшифруй мысль.

Цитата:
Tigra_N Забыл сказать!
Не заполняются остатки и цены при подборе.
Т.е. если мы нажимаем "Подбор", там выбираем товары, то товары появляются в табличной части, но в этой табличной части у них нет ни цены, ни остатка. Так?
Или проблема в том, что когда открываем "Подбор", то не видим цену и остаток?
16.02.2016 22:05
Tigra_N
 
Цитата:
Если у номенклатуры несколько штрихкодов - то будет и несколько позиций. Это правильная логика.
я тоже подумал, что у номенклатуры несколько штрих-кодов, но потом проверил. у номенклатуры один штрих-код, но в файле выводится несколько строк.
Цитата:
А где, собственно, файл? :)
со мной иногда бывает такое, я забываю прикрепить файлы ))))

Цитата:
А причём здесь 1с?
Файл сформирован по тому пути, который мы указали в обработке.
Дальше уже этот файл должна подхватывать какая-то другая программа.
Так что расшифруй мысль.
вот именно, что он не формирует файл, даже не выводит ошибку, что не может создать файл. Я формирую файл на своем жестком диске, потом копирую в ТСД. дальше все нормально работает.
я думаю файл не создается из-за нестандартного пути к файлу: This PC\Dolphin 6500\\\My Documents\
Цитата:
Т.е. если мы нажимаем "Подбор", там выбираем товары, то товары появляются в табличной части, но в этой табличной части у них нет ни цены, ни остатка. Так?
Товары и цены в табличной части выводит, а остатки - нет.
Вложения
Тип файла: zip SCANIN.zip (423 байт, 56 просмотров)
16.02.2016 23:00
KirillHome
 
Цитата:
Tigra_N я тоже подумал, что у номенклатуры несколько штрих-кодов, но потом проверил. у номенклатуры один штрих-код, но в файле выводится несколько строк.
Несколько строк - это, на сколько я понял, вот эти:
Код:
P;2700000000014;первый товар;460.00;70.000;;;шт
P;2700000000069;второй товар;450.00;80.000;;;шт
P;2700000000038;третий товар;900.00;72.000;;;шт
P;2700000000052;Макароны в развес;370.00;102.000;;;шт
P;00002;первый товар;460.00;70.000;;;шт
P;00003;второй товар;450.00;80.000;;;шт
P;00004;третий товар;900.00;72.000;;;шт
P;00007;Макароны в развес;370.00;102.000;;;шт
А можно скриншот регистра сведений "Штрих-Коды Номенклатуры" ("Все функции" - "Регистры сведений" - "Штрих-коды номенклатуры"). Такое впечатление, что у этих товаров код "дублируется" в штрихкода.

Цитата:
Tigra_N вот именно, что он не формирует файл, даже не выводит ошибку, что не может создать файл. Я формирую файл на своем жестком диске, потом копирую в ТСД. дальше все нормально работает.
я думаю файл не создается из-за нестандартного пути к файлу: This PC\Dolphin 6500\\\My Documents\
Давай разбираться - а то я запутался.
Файл всё же формируется или нет? Судя по первой цитате (и приложенному файлу) - да, судя по второй - нет.
Как ты вводишь путь к файлу? Руками? Или через "многоточие" (кнопка выбора)?
Если через "Кнопку выбора" - то файл с именем SCANIN.DAT будет создан в том каталоге, в котором выбрано.
Если "руками" - то могут быть ошибки.
Хотя "рукой" задал ошибочный пусть \\123\SCANIN.DAT - и оно ругнулось
Код:
"{Обработка.УправлениеТСДExt.Форма.Форма.Форма(1755)}: Ошибка при вызове конструктора (ЗаписьТекста)
		Файл = Новый ЗаписьТекста(Объект.ФайлВыгрузкиВТСД,КодировкаТекста.UTF8);
по причине:
Неправильный путь к файлу '\\123\SCANIN.DAT'"
Подсоединил телефон к компьютеру.
Выбираю через кнопку выбора каталог на телефоне - получаю ответ о невозможности сохранить по указанному пути (скриншоты во вложениях)

Цитата:
Tigra_N Товары и цены в табличной части выводит, а остатки - нет.
Посмотрел на "Подбор" - пока ничего не понял, как из подбора переносятся товары в табличную часть.
Т.е. весь вызов подбора вот он
Код:
&НаКлиенте
Процедура ОткрытьПодбор(Команда)
	
	ПараметрЗаголовок = НСтр("ru = 'Подбор товаров для выгрузки в ТСД'");
	
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("ЦенаВключаетНДС",							Истина);
	ПараметрыФормы.Вставить("Валюта",         							?(ЗначениеЗаполнено(ВалютаЦен), ВалютаЦен, ВалютаУправленческогоУчета()));
	ПараметрыФормы.Вставить("КатегорияЦен",    							Объект.КатегорияЦен);
	ПараметрыФормы.Вставить("Заголовок",       							ПараметрЗаголовок);
	ПараметрыФормы.Вставить("Дата",            							ТекущаяДата());
	ПараметрыФормы.Вставить("РежимПодбораБезПараметровНДС", 			Истина);
	ПараметрыФормы.Вставить("РежимПодбораБезКоличественныхПараметров",  Истина);
	ПараметрыФормы.Вставить("РежимПодбораБезКоличественныхПараметровСЦеной", ЗначениеЗаполнено(Объект.КатегорияЦен));
	ПараметрыФормы.Вставить("СкрыватьКомандуОстаткиНаСкладах", 			Истина);
	ПараметрыФормы.Вставить("СкрыватьКнопкуЗапрашиватьКоличество",		Истина);
	ПараметрыФормы.Вставить("ЗапрашиватьКоличество", 					Ложь);
	ПараметрыФормы.Вставить("ЗаголовокКнопкиПеренести", 				"Перенести");
	ПараметрыФормы.Вставить("ПолучатьЦеныСУчетомАкций",					Истина);
	
	ОткрытьФорму("Обработка.ПодборТоваров.Форма", ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
	
КонецПроцедуры
Где здесь получение результат подбора - не понимаю. От слова "совсем".
Вероятно, это как-то прописано в самой обработке "Обработка.ПодборТоваров"
Предлагаю пока опустить. Равно как и кнопки "Сохранить список товаров" и "Загрузить список товаров".
Ко всем этим кнопкам есть "костыль" - поменять (перевыбрать) склад - при этом остатки обновятся (как вариант - переделать выгрузку в файл с тем, что бы цены и остатки перезаполнились перед непосредственно выводом).
Миниатюры
Нажмите на изображение для увеличения
Название: Кнопка выбора.jpg
Просмотров: 136
Размер:	86.8 Кб
ID:	6985   Нажмите на изображение для увеличения
Название: Кнопка выбора (неудачный выбор на внешнем устройстве).jpg
Просмотров: 128
Размер:	188.4 Кб
ID:	6986  
16.02.2016 23:58
KirillHome
 
Да, и теперь мы подходим к самому интересному.
Считать данные из файла в ТЧ обработки "Данные с терминала" - это не сложно.
Но что потом делать с этими данными?
По хорошему - на основании их надо делать какие-то документы (Поступление, Реализация, Возврат, Перемещение, Инвентаризация - возможно, что-то ещё).
А вот как - что-то у меня хороших мыслей нет.
Да, я видел в документах кнопку "Получить данные из ТСД".
Ну это что же получается - переделывать все документы? Это, как минимум, не правильно.
Так что жду мыслей, советов, предложений.

Простейшее решение, которое видится, это сделать "псевдоуниверсальную загрузку в 1С", в шапке которой мы укажем организацию, склад, дадим возможность выбрать тип документа, который надо будет создать и загрузить в товарную часть нового документа считанные из файла данные, с последующим переходом к этому документу.
Но как даже это сделать - я пока не знаю :)))
Возможно, имеет смысл как-то задействовать "Внешнюю обработку" при настройке торгового оборудования (см. вложение). Но знать бы - как она должна работать, и что "выдавать" из себя.

Я пока не понимаю куда двигаться.
Миниатюры
Нажмите на изображение для увеличения
Название: Внешняя обработка.jpg
Просмотров: 133
Размер:	180.3 Кб
ID:	6987  
17.02.2016 18:55
Tigra_N
 
Цитата:
Несколько строк - это, на сколько я понял, вот эти:
да именно эти. скриншот выкладываю во вложении.

Цитата:
Давай разбираться - а то я запутался.
Файл всё же формируется или нет? Судя по первой цитате (и приложенному файлу) - да, судя по второй - нет.
Как ты вводишь путь к файлу? Руками? Или через "многоточие" (кнопка выбора)?
Если через "Кнопку выбора" - то файл с именем SCANIN.DAT будет создан в том каталоге, в котором выбрано.
Если "руками" - то могут быть ошибки.
Хотя "рукой" задал ошибочный пусть \\123\SCANIN.DAT - и оно ругнулось
ввожу не руками, а через "многоточие"! Файл создается в каталогах на жестком диске компьютера, а в каталоге на ТСД не создается.
Проблема в полном пути каталога на ТСД. тот же вариант, что и с твоим телефоном, только у меня пишет, что файл создался, если в выбранном каталоге существует файл с таким именем, но на самом деле он не создается. А если файл на ТСД не существует, то выдается ошибка (скриншот выкладываю).

Цитата:
Предлагаю пока опустить. Равно как и кнопки "Сохранить список товаров" и "Загрузить список товаров".
Ко всем этим кнопкам есть "костыль" - поменять (перевыбрать) склад - при этом остатки обновятся (как вариант - переделать выгрузку в файл с тем, что бы цены и остатки перезаполнились перед непосредственно выводом).
Согласен с предложением.
Цитата:
Простейшее решение, которое видится, это сделать "псевдоуниверсальную загрузку в 1С", в шапке которой мы укажем организацию, склад, дадим возможность выбрать тип документа, который надо будет создать и загрузить в товарную часть нового документа считанные из файла данные, с последующим переходом к этому документу.
Но как даже это сделать - я пока не знаю :)))
Думаю, что самый быстрый и удобный вариант будет этот.
Цитата:
Возможно, имеет смысл как-то задействовать "Внешнюю обработку" при настройке торгового оборудования (см. вложение). Но знать бы - как она должна работать, и что "выдавать" из себя.
я не знаю, что она из себя представляет и как это работает, а представители Далиона пока молчат
Миниатюры
Нажмите на изображение для увеличения
Название: registr_shtrixkody.jpg
Просмотров: 138
Размер:	221.3 Кб
ID:	6997   Нажмите на изображение для увеличения
Название: ScanIN_error.jpg
Просмотров: 119
Размер:	75.7 Кб
ID:	6998  
17.02.2016 19:53
KirillHome
 
Продолжим пока разбираться с "лишними" строками.
Покажи скриншот регистра сведений "Внутренние коды номенклатуры".
И давай подумаем - нужен ли нам в ТСД этот "внутрениий код".
Предположим, штрихкод не читается, но есть ценник с кодом товара - можно же ввести его "рукой"?

По простому - можно поставить "птичку" на форму - выводить файл с внутренними кодами или нет, и, в зависимости от неё, дополнять или нет запрос.

Сейчас запрос для вывода выглядит так:

Код:
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ТаблицаТоваров.Номенклатура,
	|	ТаблицаТоваров.ХарактеристикаНоменклатуры,
	|	ТаблицаТоваров.Цена,
	|	ТаблицаТоваров.Остаток
	|ПОМЕСТИТЬ ВТТовары
	|ИЗ
	|	&ТаблицаТоваров КАК ТаблицаТоваров
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВТТовары.Номенклатура КАК Номенклатура,
	|	ВТТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	|	СпрНоменклатура.Наименование КАК НаименованиеТовара,
	|	СпрНоменклатура.Весовой КАК ТоварВесовой,
	|	ЕСТЬNULL(ХарактеристикиНоменклатуры.Наименование, """") КАК НаименованиеХарактеристики,
	|	СпрНоменклатура.Код,
	|	ВТТовары.Цена,
	|	ВТТовары.Остаток
	|ПОМЕСТИТЬ ВТНаименованияТоваров
	|ИЗ
	|	ВТТовары КАК ВТТовары
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
	|		ПО ВТТовары.Номенклатура = СпрНоменклатура.Ссылка
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
	|		ПО ВТТовары.ХарактеристикаНоменклатуры = ХарактеристикиНоменклатуры.Ссылка
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ВТТовары.Номенклатура КАК Номенклатура,
	|	ВТТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	|	ВТТовары.НаименованиеТовара КАК НаименованиеТовара,
	|	ВТТовары.НаименованиеХарактеристики КАК НаименованиеХарактеристики,
	|	ШтрихкодыНоменклатуры.Штрихкод,
	|	ВТТовары.Код,
	|	ВТТовары.Цена,
	|	ВТТовары.Остаток,
	|	ЛОЖЬ КАК ШтрихкодЦифровой
	|ИЗ
	|	ВТНаименованияТоваров КАК ВТТовары
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
	|		ПО ВТТовары.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
	|			И ВТТовары.ХарактеристикаНоменклатуры = ШтрихкодыНоменклатуры.ХарактеристикаНоменклатуры
	|			И (НЕ ШтрихкодыНоменклатуры.НеИспользуется)
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатурыДубли
	|		ПО (ШтрихкодыНоменклатуры.Штрихкод = ШтрихкодыНоменклатурыДубли.Штрихкод)
	|			И (ВТТовары.Номенклатура <> ШтрихкодыНоменклатурыДубли.Номенклатура
	|				ИЛИ ВТТовары.ХарактеристикаНоменклатуры <> ШтрихкодыНоменклатурыДубли.ХарактеристикаНоменклатуры)
	|			И (НЕ ШтрихкодыНоменклатурыДубли.НеИспользуется)
	|ГДЕ
	|	ШтрихкодыНоменклатурыДубли.Номенклатура ЕСТЬ NULL 
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ВТТовары.Номенклатура,
	|	ВТТовары.ХарактеристикаНоменклатуры,
	|	ВТТовары.НаименованиеТовара,
	|	ВТТовары.НаименованиеХарактеристики,
	|	ВЫБОР
	|		КОГДА ИспользоватьВнутренниеКодыНоменклатуры.Значение
	|			ТОГДА ВнутренниеКодыНоменклатуры.Код
	|		ИНАЧЕ ВТТовары.Код
	|	КОНЕЦ,
	|	ВТТовары.Код,
	|	ВТТовары.Цена,
	|	ВТТовары.Остаток,
	|	ИСТИНА
	|ИЗ
	|	ВТНаименованияТоваров КАК ВТТовары
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Константа.ИспользоватьВнутренниеКодыНоменклатуры КАК ИспользоватьВнутренниеКодыНоменклатуры
	|		ПО (ВТТовары.ТоварВесовой)
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВнутренниеКодыНоменклатуры КАК ВнутренниеКодыНоменклатуры
	|		ПО (ИспользоватьВнутренниеКодыНоменклатуры.Значение)
	|			И ВТТовары.Номенклатура = ВнутренниеКодыНоменклатуры.Номенклатура
	|			И ВТТовары.ХарактеристикаНоменклатуры = ВнутренниеКодыНоменклатуры.ХарактеристикаНоменклатуры
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВнутренниеКодыНоменклатуры КАК ВнутренниеКодыНоменклатурыДубли
	|		ПО (ВнутренниеКодыНоменклатуры.Код = ВнутренниеКодыНоменклатурыДубли.Код)
	|			И (ИспользоватьВнутренниеКодыНоменклатуры.Значение)
	|			И (ВТТовары.Номенклатура <> ВнутренниеКодыНоменклатурыДубли.Номенклатура
	|				ИЛИ ВТТовары.ХарактеристикаНоменклатуры <> ВнутренниеКодыНоменклатурыДубли.ХарактеристикаНоменклатуры)
	|ГДЕ
	|	(НЕ ИспользоватьВнутренниеКодыНоменклатуры.Значение
	|			ИЛИ ВнутренниеКодыНоменклатуры.Код ЕСТЬ НЕ NULL )
	|	И ВнутренниеКодыНоменклатурыДубли.Код ЕСТЬ NULL ";

а можно сделать так:

Код:
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ТаблицаТоваров.Номенклатура,
	|	ТаблицаТоваров.ХарактеристикаНоменклатуры,
	|	ТаблицаТоваров.Цена,
	|	ТаблицаТоваров.Остаток
	|ПОМЕСТИТЬ ВТТовары
	|ИЗ
	|	&ТаблицаТоваров КАК ТаблицаТоваров
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВТТовары.Номенклатура КАК Номенклатура,
	|	ВТТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	|	СпрНоменклатура.Наименование КАК НаименованиеТовара,
	|	СпрНоменклатура.Весовой КАК ТоварВесовой,
	|	ЕСТЬNULL(ХарактеристикиНоменклатуры.Наименование, """") КАК НаименованиеХарактеристики,
	|	СпрНоменклатура.Код,
	|	ВТТовары.Цена,
	|	ВТТовары.Остаток
	|ПОМЕСТИТЬ ВТНаименованияТоваров
	|ИЗ
	|	ВТТовары КАК ВТТовары
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
	|		ПО ВТТовары.Номенклатура = СпрНоменклатура.Ссылка
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
	|		ПО ВТТовары.ХарактеристикаНоменклатуры = ХарактеристикиНоменклатуры.Ссылка
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ВТТовары.Номенклатура КАК Номенклатура,
	|	ВТТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	|	ВТТовары.НаименованиеТовара КАК НаименованиеТовара,
	|	ВТТовары.НаименованиеХарактеристики КАК НаименованиеХарактеристики,
	|	ШтрихкодыНоменклатуры.Штрихкод,
	|	ВТТовары.Код,
	|	ВТТовары.Цена,
	|	ВТТовары.Остаток,
	|	ЛОЖЬ КАК ШтрихкодЦифровой
	|ИЗ
	|	ВТНаименованияТоваров КАК ВТТовары
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
	|		ПО ВТТовары.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
	|			И ВТТовары.ХарактеристикаНоменклатуры = ШтрихкодыНоменклатуры.ХарактеристикаНоменклатуры
	|			И (НЕ ШтрихкодыНоменклатуры.НеИспользуется)
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатурыДубли
	|		ПО (ШтрихкодыНоменклатуры.Штрихкод = ШтрихкодыНоменклатурыДубли.Штрихкод)
	|			И (ВТТовары.Номенклатура <> ШтрихкодыНоменклатурыДубли.Номенклатура
	|				ИЛИ ВТТовары.ХарактеристикаНоменклатуры <> ШтрихкодыНоменклатурыДубли.ХарактеристикаНоменклатуры)
	|			И (НЕ ШтрихкодыНоменклатурыДубли.НеИспользуется)
	|ГДЕ
	|	ШтрихкодыНоменклатурыДубли.Номенклатура ЕСТЬ NULL ";
        Если ВыводитьКоды Тогда
		Запрос.Текст = Запрос.Текст+
		"|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	ВТТовары.Номенклатура,
		|	ВТТовары.ХарактеристикаНоменклатуры,
		|	ВТТовары.НаименованиеТовара,
		|	ВТТовары.НаименованиеХарактеристики,
		|	ВЫБОР
		|		КОГДА ИспользоватьВнутренниеКодыНоменклатуры.Значение
		|			ТОГДА ВнутренниеКодыНоменклатуры.Код
		|		ИНАЧЕ ВТТовары.Код
		|	КОНЕЦ,
		|	ВТТовары.Код,
		|	ВТТовары.Цена,
		|	ВТТовары.Остаток,
		|	ИСТИНА
		|ИЗ
		|	ВТНаименованияТоваров КАК ВТТовары
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Константа.ИспользоватьВнутренниеКодыНоменклатуры КАК ИспользоватьВнутренниеКодыНоменклатуры
		|		ПО (ВТТовары.ТоварВесовой)
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВнутренниеКодыНоменклатуры КАК ВнутренниеКодыНоменклатуры
		|		ПО (ИспользоватьВнутренниеКодыНоменклатуры.Значение)
		|			И ВТТовары.Номенклатура = ВнутренниеКодыНоменклатуры.Номенклатура
		|			И ВТТовары.ХарактеристикаНоменклатуры = ВнутренниеКодыНоменклатуры.ХарактеристикаНоменклатуры
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВнутренниеКодыНоменклатуры КАК ВнутренниеКодыНоменклатурыДубли
		|		ПО (ВнутренниеКодыНоменклатуры.Код = ВнутренниеКодыНоменклатурыДубли.Код)
		|			И (ИспользоватьВнутренниеКодыНоменклатуры.Значение)
		|			И (ВТТовары.Номенклатура <> ВнутренниеКодыНоменклатурыДубли.Номенклатура
		|				ИЛИ ВТТовары.ХарактеристикаНоменклатуры <> ВнутренниеКодыНоменклатурыДубли.ХарактеристикаНоменклатуры)
		|ГДЕ
		|	(НЕ ИспользоватьВнутренниеКодыНоменклатуры.Значение
		|			ИЛИ ВнутренниеКодыНоменклатуры.Код ЕСТЬ НЕ NULL )
		|	И ВнутренниеКодыНоменклатурыДубли.Код ЕСТЬ NULL ";
	КонецЕсли;




Цитата:
Tigra_N ввожу не руками, а через "многоточие"! Файл создается в каталогах на жестком диске компьютера, а в каталоге на ТСД не создается.
Проблема в полном пути каталога на ТСД. тот же вариант, что и с твоим телефоном, только у меня пишет, что файл создался, если в выбранном каталоге существует файл с таким именем, но на самом деле он не создается. А если файл на ТСД не существует, то выдается ошибка (скриншот выкладываю).
Включу обработку ошибок, что бы хотя бы посмотреть - а что, собственно, происходит.
Это, скорее всего, не поможет в создании файлов на устройстве - но хотя бы будет видно, что и как.



Перейдём к самому интересному :)
Цитата:
Tigra_N
Цитата:
KirillHome ...
Простейшее решение, которое видится, это сделать "псевдоуниверсальную загрузку в 1С", в шапке которой мы укажем организацию, склад, дадим возможность выбрать тип документа, который надо будет создать и загрузить в товарную часть нового документа считанные из файла данные, с последующим переходом к этому документу.
Но как даже это сделать - я пока не знаю :)))
Думаю, что самый быстрый и удобный вариант будет этот.
Закачать форматированный текст в табличную часть - не вопрос.
Создать на основании данной табличной части (и каких-то полей - "Организация", "Склад", "Тип документа") новый документ - тоже возможно.
А вот перейти к нему, не допустить "многократного создания" документа и прочее - я действительно пока не знаю как сделать.

Ладно, будем решать сначала просто (т.е. будет вариант, в котором будет кнопка "Создать документ" и простое создание документа с последующим информированием пользователя - "Я создал такой-то документ), а потом уже правильно.

Пока:
  • жду решения по поводу "нужности" внутреннего кода (нужен, не нужен, поставить "птичку" на форме)
  • делаю передачу единиц измерения
  • вставляю проверку при записи
  • потихоньку перехожу к чтению из файла
17.02.2016 22:46
KirillHome
 
Поразбирался с путями.
Цитата:
Tigra_N ввожу не руками, а через "многоточие"! Файл создается в каталогах на жестком диске компьютера, а в каталоге на ТСД не создается.
Проблема в полном пути каталога на ТСД. тот же вариант, что и с твоим телефоном, только у меня пишет, что файл создался, если в выбранном каталоге существует файл с таким именем, но на самом деле он не создается. А если файл на ТСД не существует, то выдается ошибка.
Выбираем путь к файлу на локальном диске компьютера. В обработке поле "Путь к файлу" заполнился полным путём к выбранному файлу и его именем.
А когда выбираем существующий файл на ТСД - в обработке поле "Путь к файлу" - не изменяется, так?

В общем, вывод такой - "в лоб" писать на ТСД не получится.
Возможно - как-то это можно сделать через WScript, но это уже точно выходит за мои сегодняшние рамки.
18.02.2016 09:36
KirillHome
 
По поводу "внутреннего кода" - оказалось как-то смешнее.
Я правильно угадываю, что у товары
Цитата:
первый товар
второй товар
третий товар
Макароны в развес
являются весовыми?
18.02.2016 09:53
BotMan
 
Цитата:
KirillHome Поразбирался с путями.

Выбираем путь к файлу на локальном диске компьютера. В обработке поле "Путь к файлу" заполнился полным путём к выбранному файлу и его именем.
А когда выбираем существующий файл на ТСД - в обработке поле "Путь к файлу" - не изменяется, так?

В общем, вывод такой - "в лоб" писать на ТСД не получится.
Возможно - как-то это можно сделать через WScript, но это уже точно выходит за мои сегодняшние рамки.
Писал выгрузку из СуперМага в такой терминал, тоже указывал путь к папке обмена с терминалом и давал паузу после создания файла, чтобы теминал успел сделать синхронизацию, после паузы сообщал пользователям, что можно снять терминал.
18.02.2016 10:03
KirillHome
 
Цитата:
BotMan Писал выгрузку из СуперМага в такой терминал, тоже указывал путь к папке обмена с терминалом и давал паузу после создания файла, чтобы теминал успел сделать синхронизацию, после паузы сообщал пользователям, что можно снять терминал.
Т.е. создавался файл на ПК, дальше синхронизация с ТСД проводилась сторонними программами (ActiveSync и т.п.)?
А "на прямую" писать в терминал (ну, или читать из него) - не получится, так?
18.02.2016 10:18
BotMan
 
да, синхронизировал ActiveSync.
Так как СуперМаг заливает напрямую, значит можно, но я не сильно заморачивался по этому поводу. Но тупо сохранить файл сразу на ТСД не получалось. Как вариант попробуй сохранить в Темп папку, а потом программно скопировать его в терминал )

Вообще, самый мазевый вариант, это настроить обмен через SQLite файл(или как он там у него называется). К сожалению нету под рукой терминала(там SQLite база данных или что-то такое), в общем в нем есть файл данных, в который можно загонять всю инфу и вынимать всю инфу и все это делать можно через WIFI - без всяких синхронизаций.

Читал тут вашу тему, может не в струю, НО. Чтобы видеть остатки на терминале - их нужно включить в настройках терминала.


Опции темы


Часовой пояс GMT +3, время: 00:22.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.