|
Дата записи номенклатуры | ☑ | ||
---|---|---|---|---|
0
tolok_d
29.01.13
✎
16:58
|
Уважаемые, подскажите, у меня есть два прайса. Нужно их сверить. Придумал так:
1. Если есть товар с таким артикулом, то перемещаем его в архив, и запичываем новый вместо его. 2. Если товара с таким артикулом нет, то просто записываем. 3. Но вот никак не могу придумать как удалить те элемены из номенклатуры, которые были в старом прайсе, но нет в новом. Подскажите метод или ход мысли. Очень благодарен. |
|||
1
Wobland
29.01.13
✎
17:00
|
Если БылиВСтаром() И НЕ ЕстьВНовом() Тогда
Удалить(); КонецЕсли; на здоровье |
|||
2
tolok_d
29.01.13
✎
17:00
|
по поводу названия темы... Нет ли возможности посмотреть дату записи номенклатуры. Проверяя дату, я бы поудалял лишнее. Спасибо
|
|||
3
Reset
29.01.13
✎
17:00
|
Если продолжать логику пункта 1, то "перемещаем его в архив" без записывания нового :)
|
|||
4
tolok_d
29.01.13
✎
17:01
|
(1) Прайс огромнейший. и находится в Эксель. Программа и так минуты 2 работает, а если будет сравнивать строку с экселя с элементом номенклатуры, то боюсь предположить сколько ждать будем(
|
|||
5
mikecool
29.01.13
✎
17:02
|
(4) прочитай ексель в тз, а потом сравнивай
|
|||
6
tolok_d
29.01.13
✎
17:02
|
(3) елы-палы... мне стыдно. Спасибо огромное. Ужасно стыдно...
|
|||
7
Kreont
29.01.13
✎
17:02
|
(4) Качни всю номенклатуру из екселя в ТЗ, а потом пиши запросы через ВТ
|
|||
8
tolok_d
29.01.13
✎
17:06
|
(3)а нет, не стыдно. Не сходится немного. Я проверяю каждую строку Экселя с номенклатурой. Просто к этому старому элементу я вообще не обращусь. А сравнивать элемент номенклатуры с каждой строкой Экселя это будет ужасно долго через КОМобъект
|
|||
9
Reset
29.01.13
✎
17:08
|
(8) Это не долго, если конечно циклом справочник не перебирать.
См (5)(7) |
|||
10
tolok_d
29.01.13
✎
17:09
|
(5) (7) да, это как вариант.
Скажите, а метод ЭтоНовый() он проверяет не было ли записи в БД? или как? И еще в УТП есть в Планах обмена такая штука как ПланОбменаССайтом. Так, как я понимаю, там сравнивается подобно как и у меня. Или я ошибаюсь |
|||
11
Aleksey
29.01.13
✎
17:10
|
(0) Файл-> сравнит файлы
|
|||
12
tolok_d
29.01.13
✎
17:10
|
(9) Ну наверное так и сделаю. Спасибо
|
|||
13
tolok_d
29.01.13
✎
17:14
|
(11) что это? Обьясните если не сложно
|
|||
14
Maxus43
29.01.13
✎
17:17
|
>>Нет ли возможности посмотреть дату записи номенклатуры
теоритически есть, но врятли подойдёт точность, да и к задаче в целом |
|||
15
Eugene_life
29.01.13
✎
17:21
|
(0) А просто тупо очистить прайс (все в архив) и загрузить по-новой - не оно?
|
|||
16
tolok_d
29.01.13
✎
17:22
|
(14) а как, хоть для общего развития мне скажите))
|
|||
17
tolok_d
29.01.13
✎
17:24
|
(15) сам вот только что к этому дошел)) тоесть:
1)убираем все в архив 2)запиываем с проверкой: а)если в архиве такой артикул есть, то удаляем из архива этот элемент б)если нет, значит нет) вроде так)) |
|||
18
Maxus43
29.01.13
✎
17:25
|
(16) есть мнение что гуид ссылки содержит в себе время создания. Но многие не согласны. Так что в поиск
|
|||
19
Serg_1960
29.01.13
✎
17:26
|
(16) Для общего развития :)
Функция ДатаСозданияСсылки(Ссылка) ГУИД = Ссылка.УникальныйИдентификатор(); Строка16 = Сред(ГУИД, 16, 3) + Сред(ГУИД, 10, 4) + Сред(ГУИД, 1, 8); Разрядность = СтрДлина(Строка16); ЧислоСек = 0; Для Позиция = 1 По Разрядность Цикл ЧислоСек = ЧислоСек + Найти("123456789abcdef",Сред(Строка16,Позиция,1))*Pow(16,Разрядность - Позиция); КонецЦикла; ЧислоСек = ЧислоСек / 10000000; Возврат Дата(1582, 10, 15, 04, 00, 00) + ЧислоСек; КонецФункции |
|||
20
tolok_d
29.01.13
✎
17:26
|
всем огромное спасибо)) действительно очень помогли))
|
|||
21
tolok_d
29.01.13
✎
17:27
|
(18)(19) оооо, ништячок)) спасибо)))
|
|||
22
Maxus43
29.01.13
✎
17:29
|
(21) фирма 1с против такого использования. САМ писал на партнёрском форуме
|
|||
23
Serg_1960
29.01.13
✎
17:29
|
(17) А если ещё подумать? Например:
а) Помечаем на удаление все записи справочника; б) Сканируем новый прайс и отменяем пометку у найденных записей. В итоге: Записи, отсутствующие в новом прайсе, помечены на удаление. |
|||
24
Serg_1960
29.01.13
✎
17:31
|
(22) Я - в курсе, а ТС - предупредили в (14).
|
|||
25
tolok_d
29.01.13
✎
17:55
|
(24) хм. Действительно лучьше)) спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |