W takim układzie proponowałbym użycie wyrażenia (?<=#).*?(?=\r|\n|\r\n|$), a następnie mapowanie nie po #FS, a samym FS, ale sytuacja wygląda w mojej ocenie na dość ryzykowną. Już wyjaśniam.
Aby ustalić na jaki dokument zrealizować ZK musimy przeprowadzić porównanie zawartości uwag z zadanym wzorcem. W Uwagach zazwyczaj znajduje się bardzo wiele elementów i porównywanie całych uwag z wzorcem byłoby niemożliwe, a na pewno wysoce utrudnione. ProstaPaczka wymaga, aby przekazać jej sam ciąg znaków informujących o tym jaki dokument końcowy nas interesuje. Do tego służą wyrażenia regularne (Regex).
Wyrażenie regularne są niczym innym jak opisem ciągu znaków i jest to dość trudne zagadnienie. Najłatwiej posłużyć się przykładem:
Jeśli w Uwagach dokumentu Subiekta GT mamy:
Nazwa klienta
Numer telefonu klienta
Id Transakcji
Numer zamówienia
#FS
Cokolwiek
to wyrażenie regularne:
(?<=#).*?(?=\r|\n|\r\n|$)
zwróci nam wartość:
FS
Tą wartość można mapować na dokument sprzedaży. Co takiego opisało to wyrażenie regularne? "Weź dowolnie długi ciąg znaków spomiędzy znaku # i końca linii".
A teraz dlaczego uważam, że nie jest to bezpieczne podejście? Jeśli w Państwa uwagach nigdy nie pojawi się inny #, to może to zadziałać, ale jak kiedyś klient będzie miał # w nazwie albo # pojawi się w numerze zamówienia, wyrażenie regularne zwróci błędną wartość.
Sugerowałbym przebudowanie swoich uwag w taki sposób, aby wyrażenie regularne zawsze zwróciło prawidłowy ciąg znaków. Moim zdaniem najlepszym wyjściem będzie następująca konstrukcja uwag:
Nazwa klienta
Numer telefonu klienta
Id Transakcji
Numer zamówienia
Dokument końcowy: FS
Cokolwiek
oraz następująca konstrukcja wyrażenia regularnego:
(?<=Dokument końcowy: ).*?(?=\r|\n|\r\n|$)
Takie wyrażenie również zwróci nam FS i właśnie FS (czy PAi, WZ itd.) należy mapować na dokument końcowy.
Podsumowując:
Jeśli mogą Państwo zmienić uwagi w taki sposób, aby zamienić " #FS" na "Dokument końcowy: FS", sugeruję zastosowanie wyrażenia (?<=Dokument końcowy: ).*?(?=\r|\n|\r\n|$), jeśli jednak nie ma takiej możliwości, proszę ustawić (?<=#).*?(?=\r|\n|\r\n|$). W obu przypadkach mapujemy "FS", a nie "#FS".